假設有一個這樣的一個二維數組
現在需要將他轉化爲一維數組,而且相同鍵值不會覆蓋類似
1 array_reduce函數
他是向用戶自定義函數發送數組中的值,並返回一個字符串
可以這樣寫
$result = array_reduce($user, function ($result, $value) { return array_merge($result, array_values($value)); }, array())
因爲
array_merge
函數會把相同字符串鍵名的數組覆蓋合併,所以必須先用array_value
取出值後再合併。註釋:array_merge將兩個數組合並 array_values 取出數組中的值
如果二維鍵名沒有重複
[ 'a' => array(1), 'b' => array(1), 'c' => array(1), 'd' => array(1), 'e' => array(1), ];
那就可以直接使用
$result = array_reduce($user, 'array_merge', array())
2 array_walk_recursive函數
他可以把任意維度的數組轉成一維數組
$result = []; array_walk_recursive($user, function($value) use (&$result) { array_push($result, $value); });
3 array_map函數法
$result = []; array_map(function ($value) use (&$result) { $result = array_merge($result, array_values($value)); }, $user);