<?php if(!function_exists(‘array_columns‘)) { /* * array_column() for PHP 5.4 and lower versions */ function array_columns($input,$column_key,$index_key=‘‘) { if(!is_array($input)) return; $results=array(); if($column_key===null){ if(!is_string($index_key)&&!is_int($index_key)) return false; foreach($input as $_v){ if(array_key_exists($index_key,$_v)){ $results[$_v[$index_key]]=$_v; } } if(empty($results)) $results=$input; }else if(!is_string($column_key)&&!is_int($column_key)){ return false; }else{ if(!is_string($index_key)&&!is_int($index_key)) return false; if($index_key===‘‘){ foreach($input as $_v){ if(is_array($_v)&&array_key_exists($column_key,$_v)){ $results[]=$_v[$column_key]; } } }else{ foreach($input as $_v){ if(is_array($_v)&&array_key_exists($column_key,$_v)&&array_key_exists($index_key,$_v)){ $results[$_v[$index_key]]=$_v[$column_key]; } } } } return $results; } } $testArray=array( array(0=>‘Girl‘,‘name‘=>‘Judy‘), array(0=>‘Boy‘,‘name‘=>‘Jerry‘) ); echo ‘<pre>‘; print_r(array_columns($testArray,‘name‘)); print_r(array_columns($testArray,0,‘name‘)); exit; ?>
自定义的array_column函数实现 php版本小于5.5也可以使用
时间: 2024-10-13 23:38:19