php5.5新函数array_column
php5.5新增了一个新的数组函数,感觉挺使用的,低版本的实现按照如下实现
1 if(!function_exists('array_column')){ 2 function array_column($input, $columnKey, $indexKey=null){ 3 $columnKeyIsNumber = (is_numeric($columnKey)) ? true : false; 4 $indexKeyIsNull = (is_null($indexKey)) ? true : false; 5 $indexKeyIsNumber = (is_numeric($indexKey)) ? true : false; 6 $result = array(); 7 foreach((array)$input as $key=>$row){ 8 if($columnKeyIsNumber){ 9 $tmp = array_slice($row, $columnKey, 1); 10 $tmp = (is_array($tmp) && !empty($tmp)) ? current($tmp) : null; 11 }else{ 12 $tmp = isset($row[$columnKey]) ? $row[$columnKey] : null; 13 } 14 if(!$indexKeyIsNull){ 15 if($indexKeyIsNumber){ 16 $key = array_slice($row, $indexKey, 1); 17 $key = (is_array($key) && !empty($key)) ? current($key) : null; 18 $key = is_null($key) ? 0 : $key; 19 }else{ 20 $key = isset($row[$indexKey]) ? $row[$indexKey] : 0; 21 } 22 } 23 $result[$key] = $tmp; 24 } 25 return $result; 26 } 27 }