PHP では、配列は非常に一般的で重要なデータ型です。配列は、1 次元、2 次元、および多次元の形式に分類できます。この記事では、2D 配列を 1D 配列に変換する方法を学びます。
1 次元配列と 2 次元配列
PHP では、1 次元配列は 1 次元のみの配列です。要素には、数値などの任意のタイプのデータを使用できます。文字列、オブジェクトなど。
例:
$array1 = array("dog", "cat", "horse", "cow");
この配列には 4 つの要素が含まれており、各要素は文字列型データです。
2 次元配列とは、2 つの次元を含む配列を指します。配列の最も内側の要素は同じデータ型である必要があります。
例:
$array2 = array( array("dog", "puppy"), array("cat", "kitten"), array("horse", "foal"), array("cow", "calf") );
この 2 次元配列には 4 つの要素が含まれており、各要素は 2 つの要素を含む部分配列です。各サブ配列には、文字列型の要素が 1 つと文字列型の要素が 1 つ含まれます。
2 次元配列を 1 次元配列に変換する方法
データを処理する必要がある場合、多くの場合、2 次元配列を 1 次元配列に変換する必要があります。 PHP には、このタスクを完了するためのさまざまなメソッドが用意されています。以下に 3 つのメソッドを示します:
メソッド 1: "foreach" ループを使用してトラバースする
まず、foreach ループを使用してトラバースします。 2 次元配列要素を取得し、各要素を新しい 1 次元配列に挿入します。
以下はサンプル コードです:
$array2 = array( array("dog", "puppy"), array("cat", "kitten"), array("horse", "foal"), array("cow", "calf") ); //创建一个新的一维数组 $array1 = array(); //遍历二维数组并插入一维数组中 foreach($array2 as $value) { foreach($value as $element) { array_push($array1, $element); } } //打印结果 print_r($array1);
上記のコードでは、2 つの foreach ループを使用して 2 次元配列内の要素を反復処理し、各要素を配列に挿入します。最終的に出力される結果は 1 次元配列です。
方法 2: 「array_reduce()」関数を使用する
もう 1 つの方法は、PHP の「array_reduce()」関数を使用することです。この関数でも、2 次元配列を 1 次元配列に変換できます。配列。
以下はサンプル コードです:
$array2 = array( array("dog", "puppy"), array("cat", "kitten"), array("horse", "foal"), array("cow", "calf") ); //调用array_reduce()函数 $array1 = array_reduce($array2, 'array_merge', array()); //打印结果 print_r($array1);
上記のコードでは、PHP の「array_reduce()」関数を使用し、それに 3 つのパラメーターを渡します: $array2 は、変換する必要があるデータを表します。 2 次元配列、「array_merge」は、各サブ配列を 1 次元配列に挿入するために使用されるコールバック関数を表します。array() は、初期値が空の 1 次元配列を表します。関数によって返される結果は、1 次元配列に変換された配列です。
方法 3: 「array_walk_recursive()」関数を使用する
最後の方法は、「array_walk_recursive()」関数を使用することです。これは、2 次元のすべての要素を走査するのに役立ちます。配列を作成し、各要素を新しい 1 次元配列に挿入します。
以下はサンプル コードです:
$array2 = array( array("dog", "puppy"), array("cat", "kitten"), array("horse", "foal"), array("cow", "calf") ); //创建一个新的一维数组 $array1 = array(); //调用array_walk_recursive()函数 function convert($value, $key, &$array1) { array_push($array1, $value); } array_walk_recursive($array2, 'convert', $array1); //打印结果 print_r($array1);
上記のコードでは、まずターゲットとなる 1 次元配列として空の配列を作成し、次に「array_walk_recursive()」関数を呼び出します。二次元配列を走査します。関数の最初のパラメータは走査する必要がある配列を表し、2 番目のパラメータはコールバック関数で、走査された各要素を 1 次元配列に挿入するために使用されます。3 番目のパラメータはターゲットの 1 次元配列です。関数の戻り値は void であるため、戻り結果を変数に代入する必要はありません。
まとめ
上記の 3 つの方法により、2 次元配列をより簡単に 1 次元配列に変換できます。 PHP では、配列は非常に一般的に使用されるデータ型であり、関連するスキルを習得することが非常に重要であることがわかります。
以上がPHPで2次元配列を1次元配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。