ホームページ  >  記事  >  バックエンド開発  >  ドット区切りの文字列を入れ子配列に変換するにはどうすればよいですか?

ドット区切りの文字列を入れ子配列に変換するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-31 03:36:01632ブラウズ

How to Convert a Dot-Delimited String to a Nested Array?

ドット区切りの文字列をネストされた配列に変換する

「Main.Sub. SubOfSub"、および "SuperData" などの対応する値の場合、目標は、このデータを実際のネストされた配列に変換することです。

この変換を実現するための詳細なソリューションは次のとおりです。

$key = "Main.Sub.SubOfSub";
$target = array();
$value = "SuperData";

$path = explode('.', $key); // Split the string into an array of keys
$root = &$target; // Reference to the main array

while (count($path) > 1) { // Iterate through the path array
    $branch = array_shift($path); // Get the current branch
    if (!isset($root[$branch])) {
        $root[$branch] = array(); // Create the branch if it doesn't exist
    }
    $root = &$root[$branch]; // Update the reference to the current branch
}

$root[$path[0]] = $value; // Set the value at the end of the path

このコードは、文字列で指定されたパスに基づいてネストされた配列を効果的に作成します。変数 $root は、配列内の現在のネストされたレベルへの参照として機能し、パスをたどるときに値が正しいブランチに割り当てられるようにします。

以上がドット区切りの文字列を入れ子配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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