我需要使用一个像$foo->$bar->$car这样的对象,其中$bar和$car可以假设很多值。我怎样申报?
例如,我需要说:
$foo->{'0'}->{'a'} = 2;
$foo->{'0'}->{'b'} = 4;
$foo->{'1'}->{'a'} = 8;
编辑:$bar和$car可以各自假定很多值
提前感谢。
与数组不同,PHP不会为您自动实例化"缺失"对象:
数组:php > var_dump($x);
PHP Notice: Undefined variable: x in php shell code on line 1
NULL
php > $x[1][2][3] = 'hi mom';
php > var_dump($x);
array(1) {
[1]=>
array(1) {
[2]=>
array(1) {
[3]=>
string(6) "hi mom"
}
}
}
对象:php > var_dump($y);
PHP Notice: Undefined variable: y in php shell code on line 1
NULL
php > $y->x->y = 'hi dad';
PHP Warning: Creating default object from empty value in php shell code on line 1
必须自己定义每个中间对象:
php > $y = new stdClass();
php > $y->x = new stdClass();
php > $y->x->z = new stdClass();
php > var_dump($y);
object(stdClass)#3 (1) {
["x"]=>
object(stdClass)#1 (1) {
["z"]=>
object(stdClass)#2 (0) {
}
}
}