栈的基本特点: 前辈后出

行列步队的基本特点:前辈先出

利用PHP数组仿照栈操作(入栈、出栈)

php出栈PHP 数组与数据构造 GraphQL

array_push() 将一个或多个单元压入数组的末端(入栈),返回值为数组元素的个数。

int array_push ( array &$array , mixed $var [, mixed $... ] )

array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末端。
array 的长度将根据入栈变量的数目增加。
和如下效果相同:

<?php$stack = array( "orange" , "banana" );echo array_push ( $stack , "apple" , array("武汉","成都")); //返回值:4print_r ( $stack ); Array ( [0] => orange [1] => banana [2] => apple [3] => Array ( [0] => 武汉 [1] => 成都 ) )?>

实例二

<?php$array[] = $var; //此种方法的效率高?>

并对每个 var 重复以上动作。

返回数组新的单元总数。

array_pop() 将数组末了一个单元弹出(出栈)

mixed array_pop ( array &$array )

array_pop() 弹出并返回 array 数组的末了一个单元,并将数组 array 的长度减一。
如果 array 为空(或者不是数组)将返回 NULL。

如果是数组则只返回"array"关键字,需遍历;

利用PHP数组仿照行列步队操作(入队、出队)

array_shift() 将数组开头的单元移出数组(出队)

mixed array_shift ( array &$array )

array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。

所有的数字键名将改为从零开始计数,笔墨键名将不变。
如果 array 为空(或者不是数组),则返回 NULL。

如果是数组则只返回"array"关键字,需遍历;

array_unshift() 在数组开头插入一个或多个单元(入队)

int array_unshift ( array &$array , mixed $var [, mixed $... ] )

array_unshift() 将传入的单元插入到 array 数组的开头。
把稳单元是作为整体被插入的,因此传入单元将保持同样的顺序。

所有的数值键名将修正为从零开始重新计数,所有的笔墨键名保持不变。

返回 array 数组新的单元数目。