2010-09-02 44 views

回答

12

=&應該在它們之間有一個空格 - 它們是兩個不同的操作符。 &表示get a reference to this

->用於訪問對象成員 - 這意味着將'xmlrpcvals'分配給成員$client

*參見澄清

+3

'='和'&'不需要在它們之間留有空格。 – treeface 2010-09-02 20:16:59

+5

@treeface - 我的意思是'應該'是誤導沒有空間。我不在乎解析器是怎麼想的,我只是想着可憐的人閱讀這些代碼並試圖找出'=&'的含義。 – Skilldrick 2010-09-02 20:18:44

+3

@treeface:是的,空間是微不足道的;然而,Skilldrick認爲''=&'不被解析器視爲一個單獨的操作符,不像'=>'這是一個單獨的操作符。 – BoltClock 2010-09-02 20:20:15

2

的= &分配變量的對象的引用,而不是複製它的評論。它是兩個獨立的運算符(賦值和獲取引用),但它們經常被寫在一起。

- >是成員訪問操作符;在這個例子中,它意味着獲得屬於XML-RPC客戶端的return_type。

8

通過引用

<?php 
    $a = 5; 
    $b =& $a; 
    $b = 6; 

    echo "a: "; 
    var_dump($a); 
    echo "b: "; 
    var_dump($b); 
?> 

輸出傳遞變量:

a: int(6) 
b: int(6) 
2

與最後一個問題的第一啓動;

什麼是 - >在$ client-> return_type是什麼意思?

- >是您用於訪問PHP中對象的屬性和方法的操作符。大多數語言(如Java或Javascript)都使用點運算符來實現相同的功能。它(可能)來自用於訪問結構成員的C語法。

然後就是第一個問題......

什麼= &?

簡短的版本是,在你的榜樣,這是一個遺蹟,你不再需要的;如果您使用PHP5,則不再需要PHP4的解酒。但請注意,這是特定於您的示例。

對於長版本,讓你真正瞭解發生了什麼事情在PHP