array_column 函數(shù), 是能夠根據(jù)多維數(shù)組中共有的一個鍵值來提取多維數(shù)組中屬于這個鍵的值. 例如下面的數(shù)組: $test = array( 0 => array( 要把他們提取到一個數(shù)組中, 那么就可以array_column()函數(shù); $newNameArray = array_column($test, "name"); 打印結(jié)果: 如果要指定鍵值, 則 $newNameArray = array_column($test, "name", "id");//$test 操作的數(shù)組; 第一name 是 提取某個列的值; 第二個id表示用id來作為值得鍵 打印結(jié)果: 方便好用, 但是只能在php5.5以上, 而且如果第二個參數(shù) column_name 為 數(shù)字, 將返回空.
下面的自定義函數(shù)很好的解決了這個問題: /** * 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; } 參數(shù)與array_column() 相同, 用法也相同, 支持任何索引形式.
|
|