運算符即做運算的標識符號。PHP運算符一般分為算術運算符、賦值運算符、比較運算符、三元運算符、邏輯運算符、字符串連接運算符、錯誤控制運算符、遞增遞減運算符和數組運算符
+(加法) $x + $y-(減法) $x - $y*(乘法) $x * $y/(除法) $x / $y%(求模) $x % $y
PHP的賦值運算符有兩種,分別是直接賦值'='和引用賦值'&'
[1]直接賦值
直接賦值'='把右邊表達式的值賦給左邊的運算數。它將右邊表達式值復制一份,交給左邊運算數。換言之,首先給左邊運算數申請一塊內存,然后把復制的值放到這塊內存中
x = yx += yx -= yx *= yx /= yx %= y
[2]引用賦值
引用賦值&意味著兩個變量都指向同一個數據。它將使兩個變量共享一塊內存,如果這個內存存儲的數據變了,那么兩個變量的值都會發生變化
<?php $a = '測試內容1'; $b = $a; $c = &$a; $a = '測試內容2'; echo $b.'<br />';//測試內容1 echo $c.'<br />';//測試內容2?>
比較運算符主要用來進行比較運算
== 等于 === 全等!= 不等<> 不等!== 不全等> 大于< 小于>= 大于等于<= 小于等于
<?php $a = 1; $b = '1'; var_dump($a == $b); echo '<br />';//bool(true) var_dump($a === $b); echo '<br />';//bool(false) var_dump($a != $b); echo '<br />';//bool(false) var_dump($a <> $b); echo '<br />';//bool(false) var_dump($a !== $b); echo '<br />';//bool(true) var_dump($a < $b); echo '<br />';//bool(false)?>
'?:'三元運算符是一個比較運算符,對于表達式(expr1)?(expr2):(expr3),如果expr1的值為true,則此表達式的值為expr2,否則為expr3
<?php $a = 78;//成績 $b = $a >=60?'及格':'不及格'; echo $b;//及格?>
邏輯運算符主要是進行邏輯運算
and 與or 或xor 異或&& 與|| 或! 非
<?php $a = TRUE; //A同意 $b = TRUE; //B同意 $c = FALSE; //C反對 $d = FALSE; //D反對 echo ($a and $b);//1 echo '<br />'; echo ($a or $c);//1 echo '<br />'; echo($a xor $c xor $d);//1 echo '<br />'; echo(!$c ? '通過' :'不通過');//通過 echo '<br />'; echo($a && $d ? '通過':'不通過');//不通過 echo '<br />'; echo ($b || $c || $d ? '通過':'不通過');//通過?>
字符串連接運算符是為了將兩個字符串進行連接
[1]連接運算符(.)
<?php $a = 'hello'; $b = $a . ' world!'; //hello world! echo $b;?>
[2]連接賦值運算符(.=)
<?php $x = 'hello'; $x .= ' world!'; //hello world! echo $x;?>
PHP提供了一個錯誤控制運算符@,對于一些可能會有運行過程中出錯的表達式,不希望出錯時顯示錯誤信息時,將@放置在一個PHP表達式之前。如果激活了track_error特性,表達式產生的任何錯誤信息都被存放在變量$php_errormsg中,此變量在每次出錯時都會被覆蓋
[注意]錯誤控制前綴@不會屏蔽解析錯誤的信息,不能把它放在函數或類的定義之前,也不能用于條件結構如if和foreach等
<?php$a = 1;echo @ $a;//1$b;echo @ $b;//不報錯?>
++$x 前遞增$x++ 后遞增--$x 前遞減$x-- 后遞減
<?php$x=10; echo ++$x; // 輸出 11$y=10; echo $y++; // 輸出 10$z=5;echo --$z; // 輸出 4$i=5;echo $i--; // 輸出 5?>
用于比較數組
+ 聯合== 相等=== 全等!= 不相等<> 不相等!== 不全等
<?php$x = array('a' => 'red', 'b' => 'green'); $y = array('c' => 'blue', 'd' => 'yellow'); $z = $x + $y; var_dump($z);//array(4) { ['a']=> string(3) 'red' ['b']=> string(5) 'green' ['c']=> string(4) 'blue' ['d']=> string(6) 'yellow' } echo '<br>';var_dump($x == $y);//bool(false)echo '<br>';var_dump($x === $y);//bool(false)echo '<br>';var_dump($x != $y);//bool(true)echo '<br>';var_dump($x <> $y);//bool(true)echo '<br>';var_dump($x !== $y);//bool(true)?>PHP編程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答