PHPの二次元配列変換

WBOY
リリース: 2023-05-23 09:36:37
オリジナル
537 人が閲覧しました

PHP プログラミングでは、配列は非常に一般的に使用されるデータ構造です。 2 次元配列は特別なタイプの配列です。複数の通常の配列が含まれています。各配列は行または列であり、順序付けされたデータのセットで構成されます。実際にコードを記述する際には、2 次元配列の変換が必要になる場合があります。そこでこの記事では、PHPにおける2次元配列の変換方法と、それに対応するコード例を紹介します。

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

2 次元配列を 1 次元配列に変換します。つまり、その内部のすべてを要約します。要素を同じ配列に追加します。これは、PHP で提供される array_merge() 関数を使用して実現できます。この関数は 2 つ以上の配列を引数として受け取り、それらを新しい配列にマージします。以下は簡単な例です:

$array = array(
    array('a', 'b'),
    array('c', 'd')
);

$new_array = call_user_func_array('array_merge', $array);

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

出力結果:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
ログイン後にコピー
  1. 1 次元配列を 2 次元配列に変換

1 次元配列を変換配列 2 次元配列の場合、各部分配列の長さを指定する必要があります。 1 次元配列の長さは変わる可能性があるため、最初に新しい配列内のサブ配列の長さを計算し、元の配列内の要素をこれらのサブ配列に分割する必要があります。以下に例を示します。

$array = array('a', 'b', 'c', 'd', 'e', 'f');
$chunk_size = 2;

$new_array = array_chunk($array, $chunk_size);

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

出力結果:

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

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

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

)
ログイン後にコピー
  1. 2 次元配列の行と列を交換します。

2 次元配列の行と列を交換します。 2 次元配列と列の交換。つまり、元の配列の行が新しい配列の列として使用され、列が新しい配列の行として使用されます。この処理は、PHP が提供する array_map() 関数を使用して実装できます。この関数は、1 つ以上の配列をパラメーターとして受け取り、配列内の各要素を処理するために使用されるコールバック関数を受け取ります。以下に例を示します。

$array = array(
    array('a', 'b', 'c'),
    array('d', 'e', 'f'),
    array('g', 'h', 'i')
);

$new_array = array_map(null, ...$array);

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

出力結果:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => d
            [2] => g
        )

    [1] => Array
        (
            [0] => b
            [1] => e
            [2] => h
        )

    [2] => Array
        (
            [0] => c
            [1] => f
            [2] => i
        )

)
ログイン後にコピー
  1. 1 次元配列をオブジェクト配列に変換

1 次元配列をオブジェクト配列に変換、新しい空のオブジェクトを作成し、元の配列の各要素をオブジェクトの属性として使用する必要があります。以下に例を示します。

$array = array(
    'name' => 'John',
    'age' => 30,
    'email' => 'john@example.com'
);

$obj = (object) $array;

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

出力結果:

stdClass Object
(
    [name] => John
    [age] => 30
    [email] => john@example.com
)
ログイン後にコピー
  1. オブジェクト配列を 1 次元配列に変換

オブジェクト配列を 1 次元に変換array 。これは、PHP で提供される get_object_vars() 関数を使用して実現できます。この関数はオブジェクトをパラメータとして受け取り、このオブジェクトのすべてのプロパティとプロパティ値を含む連想配列を返します。以下は例です:

$obj = new stdClass();
$obj->name = 'John';
$obj->age = 30;
$obj->email = 'john@example.com';

$array = get_object_vars($obj);

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

出力結果:

Array
(
    [name] => John
    [age] => 30
    [email] => john@example.com
)
ログイン後にコピー

要約

PHP プログラミングでは、2 次元配列の変換は非常に実践的なスキルです。この記事では、5 つの一般的な変換方法を紹介し、対応するコード例を示します。さまざまな変換方法でさまざまなニーズに対応できるため、プログラマは実際の開発シナリオに基づいて、2 次元配列を処理するのに最適な変換方法を選択できます。

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

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