ホームページ  >  記事  >  バックエンド開発  >  PHPで2次元配列を1次元配列に変換する方法

PHPで2次元配列を1次元配列に変換する方法

PHPz
PHPzオリジナル
2023-04-26 14:18:52830ブラウズ

開発中に、2 次元配列を 1 次元配列に変換する必要が生じることがありますが、この記事では、PHP でこの操作を実行する方法を紹介します。

PHP の 2 次元配列は複数の 1 次元配列で構成される配列ですが、1 次元配列は 1 つの値で構成される配列です。したがって、2 次元配列を 1 次元配列に変換するには、1 次元配列内のすべての値を抽出して、新しい 1 次元配列に代入する必要があります。

1. ループを使用して 2 次元配列を走査する

PHP では、ループを使用して 2 次元配列を走査し、新しい配列に値を追加できます。一次元配列。具体的な実装は次のとおりです。

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion'));

$singleArr = array();
foreach ($multiArr as $arr) {
    foreach ($arr as $value) {
        $singleArr[] = $value;
    }
}

print_r($singleArr);

上記のコードでは、2 つの 1 次元配列を含む 2 次元配列 $multiArr が最初に定義されます。次に、空の 1 次元配列 $singleArr を作成し、2 つのネストされた foreach を使用して、$multiArr 内の各 1 次元配列をループし、それらの間の値を取得します。そして値を $singleArr に追加します。最後に、print_r() 関数を使用して $singleArr を出力します。出力結果は次のようになります。

Array
(
    [0] => apple
    [1] => banana
    [2] => pear
    [3] => cat
    [4] => dog
    [5] => lion
)

2. call_user_func_array()# を使用します。 ## function

ループに加えて、

call_user_func_array() 関数を使用して、多次元配列を 1 次元配列に変換することもできます。具体的なコードは次のとおりです。

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion'));

$singleArr = call_user_func_array('array_merge', $multiArr);

print_r($singleArr);
上記のコードでは、2 つの 1 次元配列を含む 2 次元配列

$multiArr が最初に定義されます。次に、call_user_func_array() 関数を使用します。最初のパラメータは array_merge 関数名で、マージ操作が実行されることを意味します。2 番目のパラメータは $multiArr 配列。マージする複数の配列を意味します。結合された新しい配列は、1 次元配列 $singleArr です。最後に、print_r() 関数を使用して $singleArr を出力します。出力結果は次のようになります。

Array
(
    [0] => apple
    [1] => banana
    [2] => pear
    [3] => cat
    [4] => dog
    [5] => lion
)
3.

array_reduce()# を使用します。 ## function 上記の 2 つの方法に加えて、

array_reduce()

関数を使用して 2 次元配列を 1 次元配列に変換することもできます。具体的な実装は次のとおりです。 <pre class="brush:php;toolbar:false">$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = array_reduce($multiArr, 'array_merge', array()); print_r($singleArr);</pre> 上記のコードでは、2 つの 1 次元配列を含む 2 次元配列

$multiArr

が最初に定義されます。次に、array_reduce() 関数を使用します。最初のパラメータは $multiArr 配列で、マージする配列を示します。2 番目のパラメータは array_merge 関数名です. はマージ操作が実行されることを示し、3 番目のパラメーターは空の配列で、最初の 1 次元配列が空の配列であることを示します。最後に、結合された新しい配列を 1 次元配列 $singleArr に格納し、print_r() 関数を使用して出力結果を印刷します。出力結果は最初と同じです。 2 つの方法: <pre class="brush:php;toolbar:false">Array (     [0] =&gt; apple     [1] =&gt; banana     [2] =&gt; pear     [3] =&gt; cat     [4] =&gt; dog     [5] =&gt; lion )</pre>4. まとめ

この記事では、2 次元配列を 1 次元配列に変換する 3 つの方法を紹介します。実際の開発では、状況に応じて適切な方法を選択できます。あなたのニーズに合わせて。単純な 2 次元配列の場合は、ループ トラバーサルの最初の方法の方が理解しやすく実装しやすい場合があります。より複雑な多次元配列の場合は、

call_user_func_array()

関数と array_reduce()## を使用します。 # 関数の方が便利かもしれません。

以上がPHPで2次元配列を1次元配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。