分享 php array_column 函数 无法在低版本支持的 修改

 1 function i_array_column($input, $columnKey, $indexKey=null){
 2     if(!function_exists('array_column')){
 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     }else{
27         return array_column($input, $columnKey, $indexKey);
28     }
29 }

 

posted @ 2017-02-19 21:45  鲜花满月楼  阅读(1035)  评论(0编辑  收藏  举报