php数组(十八)栈操作 array_push 和array_pop
有时候业务逻辑需要实现先进先出的场景,那这个时候就需要用到php的两个数组函数array_pop、array_push,使用数组实现栈。
1、array_push 将一个或多个单元压入数组的末尾(入栈)
注意: 如果用 array_push() 来给数组增加一个单元,还不如用
$array[] =
,因为这样没有调用函数的额外负担。
返回值
返回处理之后数组的元素个数。
(1)示例多个元素入栈
1 2 3 4 5 | <?php $stack = array ( "orange" , "banana" ); array_push ( $stack , "apple" , "raspberry" ); print_r( $stack ); ?> |
输出:
1 2 3 4 5 6 7 | Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry ) |
(2)array_push 和array[] 性能测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?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 添加一个数组时
1 2 3 4 5 6 7 | <?php $oneArray = [ 'd' , 'e' , 'f' ]; $anotherArray = [ 'a' , 'b' , 'c' ]; array_push ( $anotherArray , $oneArray ); print_r( $anotherArray ); |
输出:将整个数组作为一个元素添加到最后
1 2 3 4 5 6 7 8 9 10 11 12 13 | Array ( [0] => a [1] => b [2] => c [3] => Array ( [0] => d [1] => e [2] => f ) ) |
2、array_pop 弹出数组最后一个单元(出栈)
注意: 使用此函数后会重置(reset())array 指针。
(1)返回最后一个元素
1 2 3 4 5 | <?php $stack = array ( "orange" , "banana" , "apple" , "raspberry" ); $fruit = array_pop ( $stack ); print_r( $stack ); ?> |
输出:
1 2 3 4 5 6 | Array ( [0] => orange [1] => banana [2] => apple ) |
分类:
php相关
posted on 2021-08-18 11:12 1450811640 阅读(211) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~