PHP では、2 次元配列は複数の 1 次元配列で構成される配列であり、プログラミングにおいて非常に一般的なデータ構造です。ただし、特定のシナリオでは、プログラムの使用と処理を容易にするために、2 次元配列を 1 次元配列に変換する必要がある場合があります。
以下、PHPを使って2次元配列を1次元配列に変換する方法を紹介します。
1. foreach ループを使用する
最も一般的な方法は、foreach ループを使用して 2 次元配列の各要素を抽出し、それを新しい 1 次元配列に格納することです。
$array = array( array('id' => 1, 'name' => 'Tom'), array('id' => 2, 'name' => 'Jerry') ); $newArray = array(); foreach ($array as $value) { foreach ($value as $val) { $newArray[] = $val; } } print_r($newArray);
出力結果:
Array ( [0] => 1 [1] => Tom [2] => 2 [3] => Jerry )
2. array_reduce 関数を使用する
PHP の array_reduce 関数を使用して 2 次元配列を処理することもできます。
$array = array( array('id' => 1, 'name' => 'Tom'), array('id' => 2, 'name' => 'Jerry') ); $newArray = array_reduce($array, function ($result, $item) { return array_merge($result, array_values($item)); }, array()); print_r($newArray);
出力結果:
Array ( [0] => 1 [1] => Tom [2] => 2 [3] => Jerry )
3. array_column 関数を使用する
2 次元配列内の特定の列だけを抽出する必要がある場合は、PHP の array_column 関数を使用できます。 。
$array = array( array('id' => 1, 'name' => 'Tom', 'age' => 18), array('id' => 2, 'name' => 'Jerry', 'age' => 20) ); $newArray = array_column($array, 'name'); print_r($newArray);
出力結果:
Array ( [0] => Tom [1] => Jerry )
4. 関数を使用して配列を再帰的に変換します
2 次元配列のネストされた次元が固定されていない場合は、次のように使用できます。変換する再帰関数。
$array = array( array('id' => 1, 'name' => 'Tom', 'languages' => array('PHP', 'Java')), array('id' => 2, 'name' => 'Jerry', 'languages' => array('Python', 'C++')) ); function convert($array) { $newArray = array(); foreach ($array as $value) { if (is_array($value)) { $newArray = array_merge($newArray, convert($value)); } else { $newArray[] = $value; } } return $newArray; } $newArray = convert($array); print_r($newArray);
出力結果:
Array ( [0] => 1 [1] => Tom [2] => PHP [3] => Java [4] => 2 [5] => Jerry [6] => Python [7] => C++ )
上記は2次元配列を1次元配列に変換する方法をいくつか示していますが、実際の状況に応じて適切な方法を選択すると、効率と可読性が大幅に向上します。コードの。
以上がPHPを使用して2D配列を1D配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。