運算符
php運算符可以根據(jù)操作數(shù)的個數(shù)分為一元運算符、二元運算符、三元運算符。一元運算符例如!(取反運算符)或++(加一運算符),php支持的大多數(shù)運算符都是這種二元運算符,例如+、-、*、/等算數(shù)運算符,而三元運算符只有一個(?:)。另外按運算符的功能去分類,可以分為:算術(shù)運算符、字符串運算符、賦值運算符、比較運算符、邏輯運算符、位運算符和其他運算符。
算數(shù)運算符
在算數(shù)運算符中,有個幾乎所有程序都擁有的遞增和遞減規(guī)則,如下所示:
$a++先計算表達(dá)式的值,然后自身加1
$a--先計算表達(dá)式的值,然后自身減1
立即學(xué)習(xí)“PHP免費學(xué)習(xí)筆記(深入)”;
++$a先自身加1,然后計算表達(dá)式的值
--$a先自身減1,然后計算表達(dá)式的值
Demo
<?php $count=1; echo $count++; //這一行打印出1 echo ++$count; //這一行打印出3?>
字符串運算符
在PHP中字符串運算符只有一個,是英文的句號("."),也稱為連接運算符。這個運算符不僅可以將兩個字符串連接起來,變成合并的新字符串,也可以將一個字符串和任何標(biāo)量數(shù)據(jù)類型相連接,合并成的都是新的字符串。
Demo
<?php $name = "Kevin"; //定義一個人的名字為字符串類型 $age = 22; //定義一個人的年齡為整型 $height = 1.85; //定義一個人的身高為浮點型 //將以上不同類型的變量使用點操作符和字符串連接起來,一起輸出 echo "我的名字是:".$name.",我的年齡是:".$age.",我的身高".$height."米。"."<br>"; ?>
賦值運算符
=將一個值或表達(dá)式的結(jié)果賦值給變量
+=將變量與所賦的值相加后的結(jié)果再賦給該變量
-=將變最與所賦的值相減后的結(jié)果再賦給該變量
*=將變最與所賦的值相乘后的結(jié)果再賦給該變量
/=將變最與所賦的值相除后的結(jié)果再賦給該變量
%=將變最與所賦的值相除取余后的結(jié)果再賦給該變量
.=將變最與所賦的值相連后的結(jié)果再賦給該變量
Demo
<?php $a = $b = $c = $d = 20; //$a、$b、$c、$d的值都為20 $a += 5; //等價于 $a = $a+5; $b -= 5; //等價于 $b = $b-5; $c *= 5; //等價于 $c = $c*5; $d /= 5; //等價于 $d = $d/5; $e %= 5; //等價于 $e = $e%5; $result="結(jié)果是:"; $result .= "\$a自加5以后的值為: ${a},"; $result .= "\$b自減5以后的值為: $,"; $result .= "\$c自乘5以后的值為: ${c},"; $result .= "\$d自除5以后的值為: $377j5v51b,"; $result .= "\$e自除5取余以后的值為: ${e}。"; echo $result; //輸出全部相連后的字符串結(jié)果
比較運算符
>大于,當(dāng)左邊操作數(shù)大于右邊操作數(shù)時返回TRUE.否則返回FALSE
>=大于等于,當(dāng)左邊操作數(shù)大于等于右邊操作數(shù)時返回TRUE.否則返回FALSE
==等于,當(dāng)左邊操作數(shù)等于右邊操作數(shù)時返回TRUE.否則返回FALSE
===全等于,當(dāng)左邊操作數(shù)等于右邊操作數(shù),并且他們的類型也相同時返回TRUE.否則返回FALSE
或!=不等于,當(dāng)左邊操作數(shù)不等于右邊操作數(shù)時返回TRUE.否則返回FALSE
!==不全等于,當(dāng)左邊操作數(shù)不等于右邊操作數(shù)或者兩者類型不相等的時候返回TRUE.否則返回FALSE
Demo
<?php $a=1; //聲明一個整型變量$a值為1 var_dump( $a > 1); //比較的結(jié)果為bool(false),1不大于1 var_dump( $a < true ); //比較的結(jié)果為bool(false),ture會自動轉(zhuǎn)為1,1等于1 var_dump( $a >= 0.01 ); //比較的結(jié)果為bool(true),1大于0.01 var_dump( $a <= "0.10yuan" ); //比較的結(jié)果為bool(false),“0.10yuan”會自動轉(zhuǎn)成0.10再比較 var_dump( $a == 1 ); //比較的結(jié)果為bool(true),1等于1 var_dump( $a == "1" ); //比較的結(jié)果為bool(true),“1”會自動轉(zhuǎn)為1再比較,相等 var_dump( $a === "1" ); //比較的結(jié)果為bool(false),內(nèi)容雖然相同,但不是同一類型的值 var_dump( $a === 1 ); //比較的結(jié)果為bool(true),內(nèi)容相同,類型也相同 var_dump( $a <> 1 ); //比較的結(jié)果為bool(false),1等于1,所以為假 var_dump( $a != 1 ); //比較的結(jié)果為bool(false),同上 var_dump( $a != 0 ); //比較的結(jié)果為bool(true),1不等于0 var_dump( $a !== "1" ); //比較的結(jié)果為bool(true),雖然內(nèi)容相同,但類型不同
邏輯運算符
PHP提供了4種邏輯運算符:邏輯與(and或&&)、邏輯或(or或||)、邏輯非(not或!)和異或(xor)。
邏輯與:邏輯與表示“并且”的關(guān)系,兩邊的表達(dá)式必須都為TRUE,結(jié)果才能為真,否則整個表達(dá)式為假。
邏輯或:邏輯或表示“或者”的關(guān)系,兩邊的表達(dá)式只要有一個為TRUE,結(jié)果就為真,否則整個表達(dá)式為假。
邏輯非:邏輯非表示“取反”的關(guān)系,如果表達(dá)式為TRUE,結(jié)果就變?yōu)镕ALSE,如果表達(dá)式為FALSE,結(jié)果則為TRUE。
邏輯異或:邏輯異或在運算時兩邊的表達(dá)式不同時為TRUE才為TRUE,即必須是一邊為TRUE,一邊為FALSE。兩邊的表達(dá)式相同時,不管是都是TRUE還是都為FALSE,結(jié)果都為FALSE。
Demo
$username = "apple"; //將用戶名apple保存在變量$username中 $password = "123456"; //將用戶密碼123456保存在變量$password中 $email = "apple@163.com"; //將用戶電子郵件apple@163.com保存在變量$email中 $phone = "400-7654321"; //將用戶電話400-7654321保存在變量$phone中 //使用一個“邏輯與”運算符,和比較運算符一起使用共同作為條件判斷 if( $username == "apple" && $password == "123456" ) { echo "用戶名和密碼輸入正確"; } //使用一個多個“邏輯或”運算符,和比較運算符一起使用共同作為條件判斷 if( $username == "" || $password == "" || $email == "" || $phone == "" ) { echo "所有的值一個都不能為空"; } //多個不同的邏輯運算符混合使用,和返回boolean值函數(shù)一起使用作為條件判斷 if( (isset($email) && !empty($email)) || (isset($phone) && !empty($phone)) ) { echo "最少有一種聯(lián)系方式"; }
三元運算符
?:可以提供簡單的邏輯判斷,在PHP中三元運算符就此一根獨苗。等價于條件語句if...else....其語法格式如下所示:(exprl)? (expr2):(expr3)。其含義是在exprl求值為TRUE時,執(zhí)行?和:之間的expr2并獲取其值,在exprl求值為FALSE時,執(zhí)行:之后的expr3并獲取其值。
Demo
<?php $money=100; $result=$money>200?"好有錢":"沒錢花了"; //輸出沒錢花了 echo $result;?>
關(guān)于位運算符,在日常的程序中不常用,筆者不再做相關(guān)贅述,用興趣的童鞋自行去百度一下吧。
更多詳情請見http://www.qiandu23.com/index.php/archives/157
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號