`

关于PHP堆栈与列队的学习

    博客分类:
  • php
 
阅读更多
原文地址:http://www.jb51.net/article/38850.htm



在PHP中数组常被当作堆栈(后进先出:LIFO)与队列(先进先出:FIFO)结构来使用。PHP提供了一组函数可以用于push与pop(堆栈)还有shift与unshift(队列)来操作数组元素。堆栈与列队在实践中应用非常广泛。
我们可以先看下堆栈:

复制代码 代码如下:

<?php
   $arr = array();
   array_push($arr,'aaa');
   array_push($arr,'bbb');
   $arr.pop();
   print_r($arr);
?>


如果你打算把数组作为队列来使用(FIFO),你可以使用array_unshift()来增加元素,使用array_shift()删除:
复制代码 代码如下:

<?php
   $arr = array();
   array_unshift($arr,'aaa');
   array_unshift($arr,'bbb');
   print_r($arr);
   array_shift($arr);
   print_r($arr);
?>
分享到:
评论

相关推荐

    关于单片机堆栈指针的理解

    ### 关于单片机堆栈指针的理解 #### 一、单片机堆栈指针的概念与作用 在单片机编程中,堆栈指针(Stack Pointer, SP)是一个非常重要的寄存器,用于指示堆栈(Stack)的顶部位置。堆栈是一种特殊的线性数据结构,...

    关于堆栈的论文

    综上所述,“关于堆栈的论文”可能涵盖了这些核心知识点,并深入研究了它们在不同场景下的实现与优化。通过学习和理解堆栈的工作原理,我们可以更有效地设计和实现各种算法,提高程序的效率和可维护性。对于计算机...

    关于堆栈的详细介绍

    ### 关于堆栈的详细介绍 #### 一、堆栈的基本概念与重要性 在计算机科学领域,特别是对于C/C++程序员而言,理解堆栈的概念至关重要。堆栈不仅是一种常见的数据结构,也是程序运行时内存管理的重要组成部分。对于...

    函数调用,参数堆栈等学习资料收集

    函数调用,参数堆栈等学习资料...关于函数调用时堆栈的变化分析(转自Jim's blog) - H_S_的学习总结与心得 - 博客园.mht 函数参数堆栈.txt 函数调用堆栈分析.doc 转贴:关于函数调用的深入分析 百度空间_应用平台.mht

    labview堆栈实现及堆栈状态机

    2. **状态转移逻辑**:使用条件结构或CASE结构来实现状态间的转移,这些转移可能与压栈、弹栈或查看堆顶的操作相结合。 3. **事件驱动**:状态机的触发可能是由外部事件(如按钮点击、定时器或特定输入)启动,或者...

    堆栈,后缀表达式

    本文将深入探讨后缀表达式与堆栈的相关知识,以及如何利用堆栈来计算后缀表达式。 首先,让我们了解什么是堆栈。堆栈是一种特殊的线性数据结构,遵循“后进先出”(Last In, First Out,简称LIFO)原则。它的插入...

    C51堆栈构成与空间需求分析

    标题中提到的"C51堆栈构成与空间需求分析",指向的是对51系列单片机中堆栈的结构及其所需空间的详细分析。51系列单片机(包括其衍生型号)是8位微控制器,广泛应用于嵌入式系统开发中。堆栈空间是其中非常重要的一...

    关于堆栈的计算

    很好很强大。。这是堆栈的运行程序,可以看出堆栈编程的完成效果。

    数据结构-顺序堆栈

    回调函数是指在执行过程中被调用的函数,它允许我们将业务逻辑封装在一个函数中,然后在堆栈操作中传入这个函数,实现“策略”与“机制”的分离。例如,我们可以在遍历堆栈时定义一个回调函数,该函数接收当前元素并...

    TIA博途SCL学习-堆栈的入栈和出栈(后入先出)程序示例.docx

    本篇将深入讲解TIA博途SCL中关于堆栈(Stack)的操作,主要涉及入栈(Push)和出栈(Pop)的概念以及相关程序示例。 堆栈是一种遵循“后入先出”(Last In, First Out,简称LIFO)原则的数据结构。这意味着最后进入...

    dongzuoji.zip_labview做堆栈_labview有堆栈吗

    标题“dongzuoji.zip_labview做堆栈_labview有堆栈吗”暗示了这个压缩包包含的是关于如何在LabVIEW中实现堆栈功能的源代码。堆栈是一种特殊的线性数据结构,遵循“后进先出”(LIFO,Last In First Out)的原则,...

    关于堆栈(mac堆栈操作文档)

    根据提供的文件信息,我们可以从标题、描述以及部分可识别的内容中提炼出与“堆栈”相关的知识点。然而,大部分文本似乎是由多种语言字符混合而成,不易解析为具体的技术信息。因此,以下内容将主要基于标题“关于...

    arm堆栈的操作之我见

    下面是关于 ARM 堆栈操作的详细说明: 一、ARM 堆栈组织结构 ARM 堆栈组织结构是满栈降的形式,满栈即 sp 是要停留在最后一个进栈元素,降:就是堆栈的增长方向是从高地址向低地址发展。 二、ARM 堆栈操作命令 ...

    堆栈的模拟实现|堆栈的工作过程与应用

    在计算机科学中,堆栈是一种非常基础且重要的数据结构,它遵循“后进先出”(LIFO)的原则。本课程设计的目标是通过编程模拟堆栈的实现,使用的编程语言是Java。下面将详细解释堆栈的工作原理、主要操作以及如何在...

    易语言汇编动态堆栈调用

    通过分析提供的源码,我们可以学习如何在易语言环境中与汇编语言交互,如何在易语言的程序结构中嵌入汇编代码,以及如何进行动态堆栈操作。这包括但不限于以下几个方面: 1. **堆栈布局**:理解堆栈的生长方向,...

    KeilC51里关于堆栈指针的处理[参照].pdf

    如果堆栈指针错误地设置在这一区域,就可能与SFR地址发生冲突,导致程序执行异常。 为了有效避免这些问题,开发者可以采取以下策略: - 避免将频繁访问的变量放置在idata区。优先选择data区,如果data区用尽,再...

    ARM的堆栈学习笔记

    ### ARM的堆栈学习笔记 #### 一、堆栈与寄存器R13 **寄存器R13** 在 ARM 架构中扮演着非常重要的角色,它通常被用作 **堆栈指针** (Stack Pointer, SP)。在 ARM 指令集中,虽然 R13 的这种用途更多地是一种约定而...

    关于堆栈的文档

    总的来说,堆栈是计算机科学中的基本工具,无论是在理论学习还是实际开发中,都有着广泛的应用。对于Apple平台的开发者来说,理解堆栈的工作原理和使用方式,能帮助他们更好地优化代码,解决各种复杂问题。在提供的...

Global site tag (gtag.js) - Google Analytics