2016-01-22 69 views
-1

我見過this answer代碼

$tmpNode = parent::addChild($name,null,$namespace); 
$tmpNode->{0} = $value; 

我很好奇的->{0}實際上呢?這是哪種PHP語言結構?它是否在不使用名稱的情況下引用$tmpNode的第一個屬性?

更新:

我到目前爲止看到給出的答案,但我一直在尋找一個參考到PHP語言手冊介紹這種使用大括號。當我在PHP Manual中搜索curly時,唯一的結果是page about strings,其中curly僅在變量和複雜表達式的環境中進行解釋。我不清楚,該語言允許捲曲的文字。

+2

的var_dump($ tmpNode);你會得到所有的答案。 – devpro

+5

http://stackoverflow.com/questions/3851489/return-php-object-by-index-number-not-name – mega6382

+0

看看:http://stackoverflow.com/questions/10333016/how-to- access-object-properties-with-names-like-integers –

回答

1

大括號{} in 也用於解析複雜的代碼。藉此,例如:

$t = 0; 

$$t = 5; 

echo ${0}; //outputs 5 

或本:

${0} = 65; 

echo ${0}; //outputs 65 

,但如果你要試試這個:

$0 = 65; 

echo $0; 

,你會得到:

Parse error: syntax error, unexpected '0' (T_LNUMBER), expecting variable (T_VARIABLE) or '$'

這是與對象屬性相同:

$obj = new stdClass(); 

$obj->{1} = "Hello world"; 
echo $obj->{1}; //outputs "Hello world" 

Complex (curly) syntax