什么是運算符
PHP中的運算符有哪些砸泛?
PHP運算符一般分為算術(shù)運算符
、賦值運算符
蛆封、比較運算符
唇礁、三元運算符
、
邏輯運算符
惨篱、字符串連接運算符
盏筐、錯誤控制運算符
。
PHP中的算術(shù)運算符
+
加砸讳、-
減琢融、×
乘、÷
除簿寂、%
取模(求余)
<?php
$english = 110; //英語成績
$math= 118; //數(shù)學(xué)成績
$biological = 80; //生物成績
$physical = 90; //物理成績
$sum=$english+$math+$biological+$physical;//加
$avg=$sum/4;//除
$x=$math-$english;//減
$x2=$english*$english;//乘
echo "總分:".$sum."<br />";
echo "平均分:".$avg."<br />";
echo "數(shù)學(xué)比英語高的分數(shù):".$x."<br />";
echo "英語成績的平方:".$x2."<br />";
?>
//假設(shè)我們要在一個考場安排了一場考試漾抬,對考生從1開始,都進行了編號
<?php
$maxLine = 4; //每排人數(shù)
$no = 17;//學(xué)生編號
$line=ceil($no/$maxLine);
$row = $no%$maxLine?$no%$maxLine:$maxLine;
echo "編號<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>個位置";
?>
PHP中的賦值運算符
PHP的賦值運算符有兩種常遂,分別是:
=
:把右邊表達式的值賦給左邊的運算數(shù)纳令。它將右邊表達式值復(fù)制一份,交給左邊的運算數(shù)烈钞。換而言之泊碑,首先給左邊的運算數(shù)申請了一塊內(nèi)存,然后把復(fù)制的值放到這個內(nèi)存中毯欣。&
:引用賦值馒过,意味著兩個變量都指向同一個數(shù)據(jù)。它將使兩個變量共享一塊內(nèi)存酗钞,如果這個內(nèi)存存儲的數(shù)據(jù)變了腹忽,那么兩個變量的值都會發(fā)生變化。
<?php
$a = "我在慕課網(wǎng)學(xué)習PHP砚作!";
$b=$a;
$c=&$a;
$a = "我天天在慕課網(wǎng)學(xué)習PHP窘奏!";
echo "a:".$a."<br />";
echo "b:".$b."<br />";
echo "c:".$c."<br />";
echo 'lets change $a="change"<br/>';
$a = "change";
echo "c:".$c."<br/>";
echo "a:".$a."<br/>";
?>
a:我天天在慕課網(wǎng)學(xué)習PHP!
b:我在慕課網(wǎng)學(xué)習PHP葫录!
c:我天天在慕課網(wǎng)學(xué)習PHP着裹!
lets change $a="change"
c:change//同時改變了
a:change
PHP中的比較運算符
<?php
$a = 1;
$b = "1";
var_dump($a==$b);//true,強制對類型進行轉(zhuǎn)化
echo "<br />";
var_dump($a===$b);//false米同,不會對類型轉(zhuǎn)化
echo "<br />";
var_dump($a!=$b);//false骇扇,強制會對類型進行轉(zhuǎn)化
echo "<br />";
var_dump($a<>$b);//false摔竿,與“!=”一樣。強制會對類型進行轉(zhuǎn)化
echo "<br />";
var_dump($a!==$b);//true少孝,不會對類型轉(zhuǎn)化
echo "<br />";
var_dump($a<$b);
echo "<br />";
$c = 5;
var_dump($a<$c);
echo "<br />";
var_dump($a>$c);
echo "<br />";
var_dump($a<=$b);
cho "<br />";
var_dump($a>=$c);
echo "<br />";
var_dump($a>$b);
echo "<br />";
?>
#PHP中的三元運算符
表達式`(expr1)?(expr2):(expr3)`继低,如果expr1的值為true,則此表達式的值為expr2稍走,否則為expr3袁翁。
<?php
$a = 78;//成績
$b=$a>60?"ok":"no";
echo $b;
?>
#PHP中的邏輯運算符
邏輯運算符主用是進行邏輯運算的,例如:`邏輯與`婿脸、`邏輯或`粱胜、`邏輯異或`、`邏輯非`
1. 邏輯與`and`或`&`:**全部**為真返回`true`盖淡;
2. 邏輯或`or`或`||`:**大于等于一個**為真返回`true`年柠;
3. 邏輯異或`xor`:**有且只能有一個為真**返回`true`;
4. 邏輯非`!`:改變原本真假值褪迟;
>“與”和“或”有兩種不同形式運算符的原因是它們運算的優(yōu)先級
#PHP中的字符串連接運算符
為了將兩個字符串進行連接,PHP中字符串連接運算符有:
- `.`:它返回將右參數(shù)附加到左參數(shù)后面所得的字符串答憔。
- `.=`:它將右邊參數(shù)附加到左邊的參數(shù)后味赃。**(左邊的字符串被修改了)**
<?php
$b = "東邊日出西邊雨";
$b .= ",道是無晴卻有晴";
echo $b."<br />";//東邊日出西邊雨,道是無晴卻有晴
?>
#PHP中的錯誤控制運算符
PHP中提供了一個錯誤控制運算符`@`,對于一些可能會在運行過程中出錯的表達式時虐拓,我們不希望出錯的時候給客戶顯示錯誤信息心俗,這樣對用戶不友好。于是蓉驹,可以將@放置在一個PHP表達式之前城榛,該表達式可能產(chǎn)生的任何錯誤信息都被忽略掉;
如果激活了`track_error`(這個玩意在php.ini中設(shè)置)特性态兴,表達式所產(chǎn)生的任何錯誤信息都被存放在變量`$php_errormsg`中狠持,此變量在每次出錯時都會被覆蓋,所以如果想用它的話必須盡早檢查瞻润。
**需要注意的是**:錯誤控制前綴`@`**不會屏蔽解析錯誤的信息**喘垂,不能把它放在函數(shù)或類的定義之前,也不能用于條件結(jié)構(gòu)例如if和foreach等
<?php
ini_set('track_errors', 1);
$conn=@mysql_connect("localhost","username","password");
echo "出錯了绍撞,錯誤原因是:".$php_errormsg;
?>
出錯了正勒,錯誤原因是:mysql_connect(): No such file or directory