ホームページ > よくある問題 > PHPの二次元配列を一次元配列に変換する方法

PHPの二次元配列を一次元配列に変換する方法

百草
リリース: 2023-08-03 11:14:30
オリジナル
4566 人が閲覧しました

php で 2 次元配列を 1 次元配列に変換する方法: 1. ループ トラバーサルを使用して 2 次元配列をトラバースし、各要素を 1 次元配列に追加します。 「array_merge」関数では、複数の配列を1つの配列にマージし、2次元配列をパラメータとして「array_merge」関数に渡し、1次元配列に変換できます; 3.「array_reduce」関数を使用して渡すコールバック関数を通じて配列内のすべての値の処理を実行し、最終的に結果を返します。

PHPの二次元配列を一次元配列に変換する方法

このチュートリアルのオペレーティング システム: Windows10 システム、PHP バージョン 8.1.3、DELL G3 コンピューター。

PHP プログラミングでは、2 次元配列を 1 次元配列に変換する必要がある場合があります。 2 次元配列は複数の 1 次元配列で構成され、各 1 次元配列には他の配列も含まれる場合があります。ここでは、2 次元配列を 1 次元配列に変換する一般的な方法をいくつか紹介します。

方法 1: ループ走査を使用する

最も直接的な方法は、ループを使用して 2 次元配列を走査し、各要素を 1 次元配列に追加することです。

$twoDimensionalArray = array(
    array("apple", "banana", "orange"),
    array("car", "bike", "motorcycle"),
    array("sun", "moon", "stars")
);
$oneDimensionalArray = array();
foreach ($twoDimensionalArray as $array) {
    foreach ($array as $element) {
        $oneDimensionalArray[] = $element;
    }
}
print_r($oneDimensionalArray);
ログイン後にコピー

上記のコードでは、2 つのネストされたループを使用して、最初に 2 次元配列内の各 1 次元配列を走査し、次に各 1 次元配列を走査します。そしてそれらを 1 次元配列に追加します。最後に、結果は `print_r` 関数を通じて出力されます。

方法 2: `array_merge` 関数を使用する

PHP には、複数の配列を 1 つの配列にマージできる `array_merge` 関数が用意されています。 2 次元配列をパラメータとして `array_merge` 関数に渡して、それを 1 次元配列に変換できます。以下は、`array_merge` 関数を使用したサンプル コードです:

$twoDimensionalArray = array(
    array("apple", "banana", "orange"),
    array("car", "bike", "motorcycle"),
    array("sun", "moon", "stars")
);
$oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray);
print_r($oneDimensionalArray);
ログイン後にコピー

上記のコードでは、`call_user_func_array` 関数を使用して、パラメータとして 2 次元配列を `array_merge` 関数に渡します。 `call_user_func_array` 関数の最初のパラメータは呼び出される関数の名前で、2 番目のパラメータはパラメータとして渡される配列です。最後に、結果は `print_r` 関数を通じて出力されます。

方法 3: `array_reduce` 関数を使用する

もう 1 つの方法は、コールバック関数を通じて配列内のすべての値を処理し、最終的に返すことができる `array_reduce` 関数を使用することです。結果。以下は、`array_reduce` 関数を使用したサンプル コードです:

$twoDimensionalArray = array(
    array("apple", "banana", "orange"),
    array("car", "bike", "motorcycle"),
    array("sun", "moon", "stars")
);
$oneDimensionalArray = array_reduce($twoDimensionalArray, function ($carry, $item) {
    return array_merge($carry, $item);
}, []);
print_r($oneDimensionalArray);
ログイン後にコピー

上記のコードでは、`array_reduce` 関数を使用して 2 次元配列を走査し、コールバック関数を渡します。コールバック関数は 2 つのパラメータを受け取ります。`$carry` は最後のコールバック関数の戻り値 (初期値は空の配列) を表し、`$item` は現在スキャンされている 1 次元配列を表します。コールバック関数では、`array_merge` 関数を使用して、各 1 次元配列の要素を `$carry` にマージします。最後に、結果は `print_r` 関数を通じて出力されます。

どの方法を選択しても、2 次元配列を 1 次元配列に変換できます。実際のニーズに応じて、2 次元配列の変換問題を処理するために最適な方法を選択できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート