基本的賦值運算符是“=”。一開始可能會以為它是“等于”,其實不是的。它實際上意味著把右邊表達式的值賦給左邊的運算數。
| 符號 | 說明 | 舉例 |
| --- | --- | --- |
| + | 加號 | $x+$y |
| - | 減號| $x-$y|
| * | 乘號乘于| $x*$y|
| /| 除號除于| $x/$y |
| %| 取余也叫取模、求模 |$x%$y |
賦值運算表達式的值也就是所賦的值。也就是說,“$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;”語法。引用賦值意味著兩個變量指向了同一個數據,沒有拷貝任何東西。
**引用賦值**
~~~
<?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 {}
/* The following line generates the following error message:
* Deprecated: Assigning the return value of new by reference is deprecated in...
*/
$o = &new C;
?>
~~~
有關引用更多信息參見本手冊中引用的解釋一章。
- 入門指引
- 簡介
- PHP是什么
- PHP能做什么
- 簡明教程
- 學PHP需要什么
- 我的第一個PHP頁面
- 實用的PHP腳步
- PHP是如何處理表單的
- 在新版本的PHP如何實用舊的PHP代碼
- 下一步需要做什么
- PHP語言參考
- PHP基本語法
- PHP標記
- PHP多進程管理-pcntl_fork
- PHP文件上傳易犯錯誤
- PHP從HTML中分離
- PHP的指令分隔符
- PHP序列化serialize
- PHP類常量
- PHP Traits
- 從 HTML 中分離
- 注釋
- PHP數據類型
- PHP支持的類型簡介
- 布爾類型(Boolean)就是易經知識
- 整型(integer)即整數
- 浮點型(float)
- 字符串(string)
- 數組(Array)
- 對象(object)一定要搞
- 資源類型(resource)
- PHP安裝與環境配置
- 安裝前需要考慮的事項
- Unix系統下安裝PHP
- Unix 系統下安裝 Apache 1.3.x
- Unix 系統下安裝 Apache 2.x
- Unix 系統下安裝 Nginx 1.4.x
- Unix 平臺安裝 Lighttpd 1.4
- Sun Solaris 上的 Sun、iPlanet 和 Netscape 服務器
- CGI 命令行設置
- 針對 HP-UX 平臺的安裝提示
- 在 OpenBSD 系統下的安裝PHP
- Debian GNU/Linux 安裝說明
- 在Mac OS X 系統下安裝PHP
- 使用軟件包
- 使用內置的 PHP
- Windows 系統下的安裝
- 云計算平臺上的安裝
- Microsoft Azure
- 在亞馬遜(Amazon EC2)安裝PHP
- PHP語法參考
- 類型
- NULL
- Callback 回調類型
- 本文檔中使用的偽類型與變量
- 類型轉換的判別
- PHP 類型比較表
- 常量和變量
- 語法基礎
- 預定義變量
- 變量范圍
- 可變變量
- 外部變量
- 常量
- 語法
- 魔術常量
- PHP表達式&運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 流程控制
- continue
- switch
- declare
- return
- require
- include
- require_once