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 }

 

你可能感兴趣的:(column)