讓array_column()函式相容低版本PHP
阿新 • • 發佈:2018-12-24
array_column 用於獲取二維陣列中的元素(PHP 5.5新增函式),但我們有時候需要在低版本的PHP環境中使用,只要做一個小的改造即可...
自定義一個函式i_array_column(),寫到TP的Common中~~
自定義一個函式i_array_column(),寫到TP的Common中~~
- function i_array_column($input, $columnKey, $indexKey=null){
- if(!function_exists('array_column')){
- $columnKeyIsNumber =(is_numeric($columnKey))?true:false;
- $indexKeyIsNull =(is_null($indexKey))?true:false;
- $indexKeyIsNumber
- $result = array();
- foreach((array)$input as $key=>$row){
- if($columnKeyIsNumber){
- $tmp= array_slice($row, $columnKey,1);
- $tmp=(is_array($tmp)&&!empty($tmp))?current($tmp):null;
- }else{
- $tmp
- }
- if(!$indexKeyIsNull){
- if($indexKeyIsNumber){
- $key = array_slice($row, $indexKey,1);
- $key =(is_array($key)&&!empty($key))?current($key):null;
- $key = is_null($key)?0:$key;
- }else{
- $key
- }
- }
- $result[$key]= $tmp;
- }
- return $result;
- }else{
- return array_column($input, $columnKey, $indexKey);
- }
- }