配列内の要素のパスがわかっている場合、この要素の値を取得するにはどうすればよいですか?
次のコードはエラーを報告します。それを解決するにはどうすればよいですか?誰か良いアイデアはありますか?
$m = ['a'=>['b'=>['c'=>'@@@@@']]];
$x = 'a.b.c';
$y = str_replace('.','\'][\'',$x);
$y = 'm[\''.$y.'\']';
エコー $$y
エラーが報告されます:
注意: 未定義の変数: m['a']['b']['c'] (/web/root/index.php の 9 行目)
曾经蜡笔没有小新2017-05-16 13:11:31
動的変数名は変数に対してのみ有効で、配列要素には無効です。 'm["a"]["b"]["c"]'
先頭に$を付けても文字列全体が変数とみなされ、当然見つかりません。
ループを使用するだけです
リーリー我想大声告诉你2017-05-16 13:11:31
?まず第一に、出力したエコーの後の変数 $y にはもう 1 つあります $
符号,其次如果你想获取@@@@@
,直接$m['a']['b']['c']