ホームページ >バックエンド開発 >PHPチュートリアル >PHP で多次元配列のサブ配列要素のインデックスを再作成するにはどうすればよいですか?

PHP で多次元配列のサブ配列要素のインデックスを再作成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-05 00:58:01719ブラウズ

How to Re-index Subarray Elements in a Multidimensional Array in PHP?

多次元配列のサブ配列要素のインデックスの再作成

PHP では、多次元配列を含む複雑なデータ構造を格納するために配列がよく使用されます。場合によっては、多次元配列内のサブ配列のキーをリセットすることが必要になることがあります。

たとえば、非シーケンシャル キーを持つ次の多次元配列について考えてみましょう。

Array (
    [1_Name] => Array (
        [1] => leo
        [4] => NULL
    )
    [1_Phone] => Array (
        [1] => 12345
        [4] => 434324
    )
)

目的は、次のとおりです。部分配列のキーをリセットしてゼロから開始します:

Array (
    [1_Name] => Array (
        [0] => leo
        [1] => NULL
    )
    [1_Phone] => Array (
        [0] => 12345
        [1] => 434324
    )
)

Solution

多次元配列内のすべての部分配列のキーをリセットするには、array_map を使用できます。 () 関数と array_values() 関数の併用:

<code class="php">$arr = array_map('array_values', $arr);</code>

array_values() 関数は、入力配列から連続した数値キーを含む新しい配列を返し、キーを効果的にリセットします。 array_map() 関数は、array_values() 関数を元の配列の各部分配列に適用し、再インデックスされた部分配列を持つ新しい多次元配列を生成します。

注:

入れ子になった部分配列に再インデックスを適用せずに、第 1 レベルの部分配列のキーのみをリセットしたい場合は、array_map():

<code class="php">$arr = array_values($arr);</code>
を使用せずに、array_values() を直接使用できます。

以上がPHP で多次元配列のサブ配列要素のインデックスを再作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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