php 2次元配列を1次元配列に変換する方法: 1. array_column() 関数を使用する; 2. array_walk() 関数を使用する; 3. array_map() 関数を使用する; 4 . array_reduce() 関数を使用します。5 、array_walk_recursive() 関数を使用します。

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
2 次元配列からへの変換の概要1 次元配列
たとえば、次の 2 桁の配列を 1 次元配列に変換します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $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:
1 2 3 4 | <?php
$first_names = array_column( $records , 'first_name');
var_dump( $first_names );
?>
|
ログイン後にコピー
印刷結果は次のとおりです。

##例 2:
1 2 3 4 | <?php
$first_names = array_column( $records , 'first_name','id');
var_dump( $first_names );
?>
|
ログイン後にコピー
印刷結果は次のとおりです。

2.array_walk()
array_walk() 関数はユーザー定義関数を使用してコールバックを行います現在の関数を実装するために各要素に対して処理が実行されます:
1 2 3 4 5 | $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() に似ており、指定された配列のセルにコールバック関数を適用します。
1 2 3 4 5 | $first_names = [];
array_map ( function ( $value ) use (& $first_names ){
$first_names [] = $value ['first_name'];
}, $records );
var_dump( $first_names );
|
ログイン後にコピー
出力結果は次のとおりです:

4.array_reduce()
array_reduce — コールバック関数を使用して、配列を単一の値に反復的に削減します。
1 2 3 4 5 | $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 —ユーザー関数を配列の各メンバーに再帰的に適用します。この関数は、任意の次元の配列を 1 次元配列に変換できます。
推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPで2次元配列を1次元配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。