php数组(十八)栈操作 array_push 和array_pop
有时候业务逻辑需要实现先进先出的场景,那这个时候就需要用到php的两个数组函数array_pop、array_push,使用数组实现栈。
1、array_push 将一个或多个单元压入数组的末尾(入栈)
注意: 如果用 array_push() 来给数组增加一个单元,还不如用
$array[] =,因为这样没有调用函数的额外负担。
返回值
返回处理之后数组的元素个数。
(1)示例多个元素入栈
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>
输出:
Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)
(2)array_push 和array[] 性能测试
<?php
$array = array();
for ($x = 1; $x <= 100000; $x++)
{
$array[] = $x;
}
?>
takes 0.0622200965881 seconds
and
<?php
$array = array();
for ($x = 1; $x <= 100000; $x++)
{
array_push($array, $x);
}
?>
takes 1.63195490837 seconds
输出:从以上结果可以看出,如果只是新增元素,并且不会用到返回值,array_push消耗的时间更多
(4) array_push 添加一个数组时
<?php $oneArray = ['d', 'e', 'f']; $anotherArray = ['a', 'b', 'c']; array_push($anotherArray, $oneArray); print_r($anotherArray);
输出:将整个数组作为一个元素添加到最后
Array
(
[0] => a
[1] => b
[2] => c
[3] => Array
(
[0] => d
[1] => e
[2] => f
)
)
2、array_pop 弹出数组最后一个单元(出栈)
注意: 使用此函数后会重置(reset())array 指针。
(1)返回最后一个元素
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>
输出:
Array
(
[0] => orange
[1] => banana
[2] => apple
)
posted on 2021-08-18 11:12 1450811640 阅读(239) 评论(0) 收藏 举报
浙公网安备 33010602011771号