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

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

PHPz
リリース: 2023-04-25 18:03:56
オリジナル
1149 人が閲覧しました

PHP 開発では配列操作が非常に一般的で、大量のデータの保存と処理に効果的に役立ちます。また、一般的な 2 次元配列の操作にも比較的熟練しています。ただし、開発者の中には 3 次元配列に遭遇すると混乱する人もいるかもしれません。この記事では、3次元配列を2次元配列に変換する方法を紹介します。

1. 3 次元配列とは

PHP では、3 次元配列は実際には 3 次元の配列です。 3 次元配列は次の方法で定義できます。

$arr = array(
  array(
    array("apple", 10),
    array("banana", 20)
  ),
  array(
    array("orange", 15),
    array("grape", 25)
  )
);
ログイン後にコピー

上記の配列では、最初の次元のインデックスは 0 と 1、2 番目の次元のインデックスは 0 と 1、そして3 次元の は 0 と 1 です。 の値は果物の名前と対応する量です。

2 次元配列を 2 次元配列に変換する

開発では、操作と処理が容易なため、通常、2 次元配列を使用してデータを処理することを好みます。では、3 次元配列を 2 次元配列に変換するにはどうすればよいでしょうか?

二重層トラバーサルを使用して、3 次元配列の各要素を抽出し、それを新しい 2 次元配列に追加できます。具体的な実装コードは次のとおりです。

function threeDimensionalToTwoDimensional($arr) {
  $result = array();
  foreach ($arr as $value1) {
    foreach ($value1 as $value2) {
      array_push($result, $value2);
    }
  }
  return $result;
}

$arr = array(
  array(
    array("apple", 10),
    array("banana", 20)
  ),
  array(
    array("orange", 15),
    array("grape", 25)
  )
);

print_r(threeDimensionalToTwoDimensional($arr));
ログイン後にコピー

上記のコードを実行すると、次の出力結果が得られます。

Array
(
    [0] => Array
        (
            [0] => apple
            [1] => 10
        )

    [1] => Array
        (
            [0] => banana
            [1] => 20
        )

    [2] => Array
        (
            [0] => orange
            [1] => 15
        )

    [3] => Array
        (
            [0] => grape
            [1] => 25
        )

)
ログイン後にコピー

上記の出力結果は、2 つのデータに変換されたデータです。次元配列。新しい 2 次元配列には 4 つの要素があり、各要素は 2 つの値の配列であることがわかります。

3. 概要

上記のコード例を通じて、3 次元配列を 2 次元配列に変換する方法を確認できます。これは、PHP を使用して開発する開発者にとって非常に役立つスキルです。日常の開発では、さまざまなデータ ソースからの 3 次元配列を操作する必要がある可能性があり、それらを 2 次元配列に変換すると、データの処理が容易になります。

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

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