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

PHPで一次元配列を多次元配列に変換する方法

PHPz
PHPzオリジナル
2023-04-23 09:17:57997ブラウズ

PHP は広く使用されているサーバーサイド スクリプト言語であり、特に Web 開発の分野に適しています。 PHP では、配列は複数のデータ項目を格納するために使用できる非常に重要なデータ型です。 1 次元配列は最も単純で簡単に作成できますが、複雑なデータ コレクションの場合は、多次元配列の方が実用的です。この記事では、データ構造を明確にするために 1 次元配列を多次元配列に変換する方法を検討します。

まず、1 次元配列を作成する方法を見てみましょう。 PHP では、次の構文を使用して 1 次元配列を作成できます。

$numbers = array(1, 2, 3, 4, 5);

上記のコードは、5 つの整数を含む $numbers という名前の配列を作成します。 PHP 5.4 以降では、短い配列構文を使用して作成することもできます。

$numbers = [1, 2, 3, 4, 5];

次に、1 次元配列を 2 次元配列または多次元配列に変換する方法を紹介します。

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

1 次元配列を 2 次元配列に変換する方法は、1 次元配列の各要素を変換することです。次元配列を 2 次元配列として、 の値。 n 個の要素を含む 1 次元配列の場合、n 個の要素を含む 2 次元配列に変換できます。ここで、各要素は 1 つの値のみを含む 1 次元配列になります。以下に例を示します。

$numbers = array(1, 2, 3, 4, 5);
$grid = array_chunk($numbers, 1);
print_r($grid);

上の例では、array_chunk() 関数を使用して、$numbers 配列を 5 つの配列を含む 2 次元配列に変換します。この関数の構文は次のとおりです:

array_chunk(array, size, preserve_key);

このうち、array パラメータは変換対象の 1 次元配列、size パラメータは各部分配列の要素数、preserve_key パラメータはセグメント化時に元の配列のキーを保持するかどうか。ここでのサイズ パラメーターは 1 に設定されており、各部分配列には要素が 1 つだけ含まれています。

この時点で $grid 配列が出力されるのは次のとおりです。

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

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

    [2] => Array
        (
            [0] => 3
        )

    [3] => Array
        (
            [0] => 4
        )

    [4] => Array
        (
            [0] => 5
        )

)

上記のように、$grid 配列は 2 次元配列に変換されています。

2. 1 次元配列を多次元配列に変換する

1 次元配列を多次元配列に変換する方法は、各要素を 1 次元配列として扱うことです。多次元配列の値としての次元配列。 3 次元配列が必要な場合は、次の手順に従います。

  1. 1 次元配列を 2 次元配列に変換します。
  2. 2 次元配列内の各 1 次元配列を 1 つの要素のみを含む配列に変換して、3 次元配列を取得します。

以下は 3 次元配列への変換の例です:

$numbers = array(1, 2, 3, 4, 5);
$grid = array_chunk($numbers, 1);
$cube = array_map(function($val) { return array($val); }, $grid);
print_r($cube);

上記のコードでは、まず array_chunk() 関数を使用して $numbers 配列を次のように変換しました。 5 つの 2 次元配列を含む配列。次に、array_map() 関数を使用して、各 1 次元配列を 1 つの要素を含む配列に変換します。この関数の構文は次のとおりです:

array_map(callback, arr1, arr2, ...);

このうち、コールバック パラメータは各配列要素を操作するために使用されるカスタム関数名であり、arr1、arr2、... パラメータは操作対象の各配列です。の上 。

注: 匿名関数を使用する場合は、関数の前に use ($variable1, ...) ステートメントを追加して、クロージャ関数で使用する必要がある変数を渡す必要があります。

この時点での $cube 配列の出力は次のとおりです。

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

        )

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

        )

    [2] => Array
        (
            [0] => Array
                (
                    [0] => 3
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [0] => 4
                )

        )

    [4] => Array
        (
            [0] => Array
                (
                    [0] => 5
                )

        )

)

上に示すように、$cube 配列は 3 次元配列に正常に変換されました。

3. 概要

PHP では、配列は非常に重要なデータ型です。 1 次元配列は簡単に作成できますが、複雑なデータ コレクションの場合は、多次元配列の方が実用的です。 1次元配列を2次元配列や多次元配列に変換することで、データ構造が明確になり、データの検索や加工が容易になります。この記事の導入により、読者は 1 次元配列を多次元配列に変換する方法についてより深く理解できるようになったと思います。

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

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