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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-05 14:50:03725ブラウズ

How to Re-index Subarray Elements in Multidimensional Arrays?

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

多次元配列では、キー インデックスのリセットは、予測可能な順序を維持したり値を整列させるのに役立ちます。

問題:

多次元配列内の部分配列のキーをリセットし、ゼロから順番に番号を付け直すにはどうすればよいでしょうか?次の例を考えてみましょう:

<code class="php">$arr = [
    '1_Name' => [
        1 => 'leo',
        4 => null
    ],
    '1_Phone' => [
        1 => 12345,
        4 => 434324
    ]
];
// Expected output:
// Array (
//     [1_Name] => [
//         0 => 'leo',
//         1 => null
//     ]
//     [1_Phone] => [
//         0 => 12345,
//         1 => 434324
//     ]
// )</code>

解決策:

これを実現するには、次のアプローチを使用できます:

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

array_map () 関数は、array_values() 関数を $arr 内の各サブ配列に適用します。 array_values() は、サブ配列のキーをゼロから順番に再インデックスします。

<code class="php">// array_values() for first-level arrays only
$arr = array_values($arr);</code>

第 1 レベルの配列キーのリセットには、array_map() を使用せずに array_values() を使用できます。

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

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