array_column()是一个非常有用的php数据函数,主要用于取得二维数组的某一列的值的集合然后组成一个新的一位数组,不过该函数仅支持php 5.5以上的版本,因此这里给出一个对于低于5.5版本的实现方式。
if(!function_exists('array_column')){ function array_column($arr,$key){ return array_map(function($val) use ($key){ return $val[$key]; },$arr); } }
或者:
if(!function_exists('array_column')){ function array_column($input,$column_key,$index_key=null){ $arr=array_map(function($d) use ($column_key,$index_key){ if(!isset($d[$column_key])){ return null; } if($index_key!==null){ return array($d[$index_key]=>$d[$column_key]); } return $d[$column_key]; },$input); if($index_key!==null){ $tmp=array(); foreach ($arr as $ar){ $tmp[key($ar)]=current($ar); } $arr=$tmp; } return $arr; } }
示例:
<?php $records = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ), array( 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ), array( 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ) ); $first_names = array_column($records, 'first_name'); print_r($first_names);
以上例程会输出:
Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 让array_column()函数兼容低版本PHP
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 让array_column()函数兼容低版本PHP