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

PHPz
リリース: 2023-04-26 14:40:00
オリジナル
773 人が閲覧しました

開発中に、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 次元配列に変換することもできます。具体的な実装は次のとおりです。

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = array_reduce($multiArr, 'array_merge', array()); print_r($singleArr);
ログイン後にコピー
上記のコードでは、2 つの 1 次元配列を含む 2 次元配列

$multiArr

が最初に定義されます。次に、array_reduce()関数を使用します。最初のパラメータは$multiArr配列で、マージする配列を示します。2 番目のパラメータはarray_merge関数名です. はマージ操作が実行されることを示し、3 番目のパラメーターは空の配列で、最初の 1 次元配列が空の配列であることを示します。最後に、結合された新しい配列を 1 次元配列$singleArrに格納し、print_r()関数を使用して出力結果を印刷します。出力結果は最初と同じです。 2 つの方法:

Array ( [0] => apple [1] => banana [2] => pear [3] => cat [4] => dog [5] => lion )
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
4. まとめ

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

call_user_func_array()

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

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!