2016-10-14 45 views
-1

我需要使用像$ foo - > $ bar - > $ car這樣的對象,其中$ bar和$ car可以承擔很多值。我該如何申報?

例如,我需要說:

$foo->{'0'}->{'a'} = 2; 
$foo->{'0'}->{'b'} = 4; 
$foo->{'1'}->{'a'} = 8; 

編輯: $酒吧和$車可以承擔大量的每個值。

預先感謝您。

+0

而不是一個對象內的對象內的對象,這不是一個對象數組的完美情況嗎? –

+0

我沒有想到這一點。感謝您的評論。 –

回答

0

不像陣列,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 

MUST定義每個中間反對你自己:

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) { 
    } 
    } 
} 
相關問題