我只是想知道指向数组的变量变量如何处理。拿下面的代码:在PHP中由变量变量返回的数组中索引
$a = new stdClass();
$a->b = array('start' => 2);
$c = 'b';
$d = 'start';
print $a->$c; // => Array
print $a->$c['start']; // => Array
print $a->$c[0]; // => Array
print $a->$c[0][0]; //=> PHP Fatal error: Cannot use string offset as an array in php shell code on line 1
我期望的第一个打印,第二个我没有,或第三个。第四次预计在认识到$ a - > $ c的评估显然是一个字符串之后。但后来为什么这项工作:
$t = $a->$c;
print $t['start']; //=> 2
我问了,因为我很好奇,比我更需要知道如何很好地完成
$e = 'start';
$a->$c[$e]
任何人都知道我为什么不能直接索引到变量用法返回的数组?
你可以在'print $ a - > $ c [0]上使用'var_dump()''确认它是数组吗? – Latheesan