array_column 函數, 是能夠根據多維數組中共有的一個鍵值來提取多維數組中屬於這個鍵的值.
例如下面的數組:
$test = array( 0 => array(
'id' => 11, 'name'=>'zhangsan' ), 1 => array(
'id' => 22, 'name'=> 'lisi' ), 2 => array(
'id' => 33, 'name'=> 'wangmazi' ), 3 => array(
'id' => 44, 'name'=> 'zhaoliu' ) );
要把他們提取到一個數組中, 那么就可以array_column()函數;
$newNameArray = array_column($test, "name");
打印結果:

如果要指定鍵值, 則
$newNameArray = array_column($test, "name", "id");//$test 操作的數組; 第一name 是 提取某個列的值; 第二個id表示用id來作為值得鍵
打印結果:

方便好用, 但是只能在php5.5以上, 而且如果第二個參數 column_name 為 數字, 將返回空.
下面的自定義函數很好的解決了這個問題:
/** * array_column() // 不支持低版本; * 以下方法兼容PHP低版本 */ function _array_column(array $array, $column_key, $index_key=null){ $result = []; foreach($array as $arr) { if(!is_array($arr)) continue; if(is_null($column_key)){ $value = $arr; }else{ $value = $arr[$column_key]; } if(!is_null($index_key)){ $key = $arr[$index_key]; $result[$key] = $value; }else{ $result[] = $value; } } return $result; }
參數與array_column() 相同, 用法也相同, 支持任何索引形式.
