$data[$a];
//报错, Illegal offset type
$data[{$a}];
//报错,syntax error, unexpected '{', expecting ']'
有什么办法能够将一个变量作为关联数组的偏移量呢?
那为什么$web->{$page};中$page可以作为一个web对象的参数进行调用呢?
//报错, Illegal offset type
$data[{$a}];
//报错,syntax error, unexpected '{', expecting ']'
有什么办法能够将一个变量作为关联数组的偏移量呢?
那为什么$web->{$page};中$page可以作为一个web对象的参数进行调用呢?
只不过是 $a 所表示的关联键或下标不存在
//报错, Illegal offset type
$data["{$a}"];
//报错,syntax error, unexpected '{', expecting ']'这样就不会报错了。
至于$web->{$page}; 他并没有在一个数组中,所以不报错。
数组应该是不能用一个实例化对象来进行调用的。
数组键只能为string和number
//你看报错信息他把[和}给匹配了。
加上引号之后就告诉PHP {$a}是一个整体,而不是说[{$a} 是一个整体。
如果像这样写 $data[{$a}]; 其实和这样写 $data [{$a};
这两个报错应该是相同的。换句通俗的话说PHP把这四个括号配对配迷糊了。