array_column php 函数
今天想从二维数组中取某个列成一维数组 结果发现 array_column需要php5.5支持才行 然后自己写了一个仿造版本的array_column
两种思路
1.直接遍历 取值给追加数组 返回
2.先把二维数组key确定下来 遍历key 通过key取值追加数组 返回
3.采用array_map函数遍历获取
本次实验中 我们用了一个大数组进行循环遍历,结果发现 第一种方法快 第二种方法相对慢一点 第三种方法最慢
代码如下:
<?php $array=array(); for ($i=1; $i <= 200000; $i++) { $array[]=array( "id"=>$i, "name"=>"test_user".$i, ); } $time_start1=microtime(true); $info=array_column1($array,"name"); $time_end1=microtime(true); var_dump(($time_end1-$time_start1)*1000); echo "<hr/>"; $time_start2=microtime(true); $info=array_column2($array,"name"); $time_end2=microtime(true); var_dump(($time_end2-$time_start2)*1000); echo "<hr/>"; $time_start3=microtime(true); $info=array_column3($array,"name"); $time_end3=microtime(true); var_dump(($time_end3-$time_start3)*1000); echo "<hr/>"; function array_column1($array,$search_key) { $data=array();//初始化结果数组 //对二位数组按照 key value遍历取值成一维数组 foreach ($array as $key => $value) { $data[$key]=$value[$search_key]; } return $data; } function array_column2($array,$search_key) { $data=array();//初始化结果数组 $keys=array_keys($array); foreach ($keys as $value) { $data[$value]=$array[$value][$search_key]; } return $data; } function array_column3($array,$search_key) { $array=array_map(function($value) use($search_key) { return $value[$search_key]; }, $array); return $array; } exit();
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战