PHP 賦值運算子 PHP 賦值運算子用於將值寫入變數。 PHP 中基礎的賦值運算子是 "="。這表示右側賦值表達式會為左側運算數設定值。
值運算式的值也就是所賦得的值。也就是說,「$a = 3」的值是 3。這樣就可以做一些小技巧:
<?php $a = ( $b = 4 ) + 5 ; // $a 现在成了 9,而 $b 成了 4。 ?>
對於陣列 array ,對有名字的鍵賦值是用「=>」運算子。此運算子的優先權和其它賦值運算子相同。
在基本賦值運算子之外,還有適合於所有二元算術,數組集合和字串運算子的“組合運算子”,這樣可以在一個表達式中使用它的值並將表達式的結果賦給它,例如:
<?php $a = 3 ; $a += 5 ; // sets $a to 8, as if we had said: $a = $a + 5; $b = "Hello " ; $b .= "There!" ; // sets $b to "Hello There!", just like $b = $b . "There!"; ?>
注意賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個一個。這也適合在密集循環中拷貝一些值例如大數組。
在 PHP 中普通的傳值賦值行為有個例外就是碰到物件 object 時,在 PHP 5 中是以引用賦值的,除非明確使用了 clone 關鍵字來拷貝。
引用賦值
PHP 支援引用賦值,使用「$var = &$othervar;」語法。引用賦值意味著兩個變數指向了同一個數據,沒有拷貝任何東西。
Example #1 引用賦值
<?php $a = 3 ; $b = & $a ; // $b 是 $a 的引用 print " $a \n" ; // 输出 3 print " $b \n" ; // 输出 3 $a = 4 ; // 修改 $a print " $a \n" ; // 输出 4 print " $b \n" ; // 也输出 4,因为 $b 是 $a 的引用,因此也被改变 ?>
自PHP 5 起,new 運算子會自動傳回一個引用,因此再對new 的結果進行引用賦值在PHP 5.3 以及以後版本會發出一條E_DEPRECATED 錯誤訊息,在先前版本會發出一條 E_STRICT 錯誤訊息。
例如以下程式碼將產生警告:
<?php class C {} $o = &new C ; ?>
以上是php 中的賦值運算子詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!