ホームページ > バックエンド開発 > PHPチュートリアル > 多次元 PHP 配列をドット表記を使用した 2D 配列に変換するにはどうすればよいですか?

多次元 PHP 配列をドット表記を使用した 2D 配列に変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-29 10:12:32
オリジナル
598 人が閲覧しました

How Can I Convert Multidimensional PHP Arrays to 2D Arrays with Dot Notation?

ドット表記を使用した多次元 PHP 配列から 2D 配列への変換

PHP 配列を操作する場合、ドット表記を使用して多次元配列をより管理しやすい 2D 形式に変換する必要がある場合があります。キー。このフラット化された構造により、複雑なデータへのアクセスと反復が容易になります。

次のような多次元配列を考えてみましょう。

<code class="php">$myArray = array(
    'key1' => 'value1',
    'key2' => array(
        'subkey' => 'subkeyval'
    ),
    'key3' => 'value3',
    'key4' => array(
        'subkey4' => array(
            'subsubkey4' => 'subsubkeyval4',
            'subsubkey5' => 'subsubkeyval5',
        ),
        'subkey5' => 'subkeyval5'
    )
);</code>
ログイン後にコピー

この配列をドット表記キーを使用して 2D 形式に変換するには、次のようにします。再帰関数を利用できます。以下に例を示します。

<code class="php">$ritit = new RecursiveIteratorIterator(new RecursiveArrayIterator($myArray));
$result = array();
foreach ($ritit as $leafValue) {
    $keys = array();
    foreach (range(0, $ritit->getDepth()) as $depth) {
        $keys[] = $ritit->getSubIterator($depth)->key();
    }
    $result[ join('.', $keys) ] = $leafValue;
}</code>
ログイン後にコピー

この関数の出力は、次のようにドットで区切られたキーを持つ 2D 配列になります。

<code class="php">Array
(
    [key1] => value1
    [key2.subkey] => subkeyval
    [key3] => value3
    [key4.subkey4.subsubkey4] => subsubkeyval4
    [key4.subkey4.subsubkey5] => subsubkeyval5
    [key4.subkey5] => subkeyval5
)</code>
ログイン後にコピー

この平坦化された配列は、より簡潔な表現を提供します。元のデータ構造により、特定の値への移動やアクセスが容易になります。

以上が多次元 PHP 配列をドット表記を使用した 2D 配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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