假如我知道数组中某一个元素的路径,我怎么取到这个元素的值?
下面这段代码报错,该怎么解决?大家有没有好的办法?
$m = ['a'=>['b'=>['c'=>'@@@@@']]];
$x = 'a.b.c';
$y = str_replace('.','\'][\'',$x);
$y = 'm[\''.$y.'\']';
echo $$y;
会报错:
Notice: Undefined variable: m['a']['b']['c'] in /web/root/index.php on line 9
Nama pembolehubah dinamik hanya sah untuk pembolehubah, bukan elemen tatasusunan
'm["a"]["b"]["c"]'
Walaupun $ ditambahkan di hadapan, keseluruhan rentetan akan dianggap sebagai pembolehubah, dan secara semula jadi ia tidak boleh ditemui.Anda boleh menggunakan gelung
?Pertama sekali, pembolehubah $y selepas gema yang anda cetak mempunyai satu lagi
$
符号,其次如果你想获取@@@@@
,直接$m['a']['b']['c']
Sebenarnya, apa yang anda tulis adalah betul, jangan tergesa-gesa untuk bertanya, lihat sahaja kod anda
Secara peribadi, saya berpendapat bahawa apabila menghadapi masalah seperti ini, kita harus mempertimbangkan untuk menggunakan rekursi untuk menanganinya dan bukannya menggunakan penggantian rentetan.
Jika anda menggunakan rangka kerja laravel,