PHP でドット構文を多次元配列に変換する
質問:
どうすればよいですか「this.that.other」などのドット構文を効率的に変換します。 PHP の多次元配列?
答え:
この変換を実現するには、次の関数の実装を検討してください:
function assignArrayByPath(&$arr, $path, $value, $separator='.') { $keys = explode($separator, $path); foreach ($keys as $key) { $arr = &$arr[$key]; } $arr = $value; }
説明:
この関数は、指定されたキーを反復処理することにより、目的の変換を実行します。 $path パラメータ内で、$separator を区切り文字として使用します。キーごとに、$arr 配列内の対応する要素にアクセスして更新します。最後に、$value を配列内の最下位レベルの要素に割り当てます。
使用例:
関数の機能をデモンストレーションするには、次のコードを実行します。
$arr = []; assignArrayByPath($arr, 's1.t1.column.1', 'size:33%'); echo $arr['s1']['t1']['column']['1']; // Output: "size:33%"
この関数を利用すると、ドット構文を効果的に多次元配列に変換でき、扱いが簡素化され、複雑なデータ構造の取得。
以上がPHP でドット構文を多次元配列に効率的に変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。