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 }

 

posted @ 2014-12-28 09:56  jaky666  阅读(224)  评论(0编辑  收藏  举报