我只是想知道指向数组的变量变量如何处理。拿下面的代码:
$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 的评估显然是一个字符串之后,预计第 4 次。但是为什么这会起作用:
$t = $a->$c;
print $t['start']; //=> 2
我问的更多是因为我很好奇,而不是我需要知道如何做得好
$e = 'start';
$a->$c[$e]
任何人都知道为什么我不能直接索引到由变量变量使用返回的数组?