php二維陣列轉一維陣列的方法:1、用array_column()函數;2、用array_walk()函數;3、用array_map()函數;4、用array_reduce()函數;5 、用array_walk_recursive()函數。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
例如將以下二位數組轉以為以為一維數組
$records = [ [ 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ], [ 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ], [ 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ], [ 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ] ];
1.array_column()
array_column()是PHP內建函數,限制是PHP版本必須是5.5.0以上版本!
範例1:
<?php $first_names = array_column($records, 'first_name'); var_dump($first_names); ?>
列印結果為:
#範例2:
<?php $first_names = array_column($records, 'first_name','id'); var_dump($first_names); ?>
列印結果為:
2.array_walk()
#array_walk()函數使用使用者自訂函數對陣列中的每個元素做回呼處理,實作目前功能的方法:
$first_names= []; array_walk($records, function($value, $key) use (&$first_names){ $first_names[] = $value['first_name']; }); var_dump($first_names);
列印結果為:
#3.array_map()
array_map()函數和array_walk() 作用類似,將回呼函數作用到給定陣列的單元上。
$first_names= []; array_map(function($value) use (&$first_names){ $first_names[] = $value['first_name']; }, $records); var_dump($first_names);
列印結果為:
# 4.array_reduce()
array_reduce — 用回呼函數迭代地將陣列簡化為單一的值。
$first_names = array_reduce($records,function($result, $value){ array_push($result, $value['first_name']); return $result; },[]); var_dump($first_names);
打印結果:
5. array_walk_recursive()
array_walk_recursive —對數組中的每個成員遞歸地應用使用者函數。這個函數可以把任意維度的陣列轉換成一維數組。
推薦學習:《PHP影片教學》
以上是php怎麼將二維數組轉為一維數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!