首頁  >  文章  >  後端開發  >  php 中的賦值運算子詳解

php 中的賦值運算子詳解

怪我咯
怪我咯原創
2017-06-20 11:51:342224瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn