10.操作符
10.1 算術(shù)操作符
算術(shù)操作符通常用于整型或雙精度類型的數(shù)據(jù)。如果將它們應(yīng)用于字符串,PHP會(huì)試圖將這些html' target='_blank'>字符串轉(zhuǎn)換成一個(gè)數(shù)字。如果其中包含“e”或“E”字符,它就會(huì)被當(dāng)作是科學(xué)表示法并被轉(zhuǎn)換成浮點(diǎn)數(shù),否則將會(huì)被轉(zhuǎn)換成整數(shù)。PHP會(huì)在字符串開始處尋找數(shù)字,并且使用這些數(shù)字作為該字符串的值,如果沒找到數(shù)字,該字符串的值則為0。
10.2 字符串操作符
可以使用字符串連接操作符將兩個(gè)字符串連接起來生成并保存到一個(gè)新字符串中。
$a = “Bob‘s”;$b = “Auto Parts”;$result = $a.$b; //”Bob’s Auto Parts”
10.3 賦值操作符
10.3.1 賦值運(yùn)算返回值
整個(gè)賦值語句的值將賦給左邊的操作數(shù)。
可以使用圓括號(hào)來提高子表達(dá)式的優(yōu)先級(jí),和數(shù)學(xué)的計(jì)算法則相同。
10.3.2 復(fù)合賦值操作符
+=,-=,*=,/=,%=,.=
10.3.3 前置遞增遞減和后置遞增遞減運(yùn)算符
舉個(gè)例子:
$a=4;echo ++$a; //5 $a=4;echo $a++; //4
10.3.4 引用操作符
引用操作符&可以在關(guān)聯(lián)賦值中使用。看下面的例子:
$a = 5;$b = $a;$a = 7; // $b will still be 5
這就很尷尬了。如何避免上述情況呢?
可以使用引用操作符&來避免產(chǎn)生這樣的副本。
$a = 5;$b = &$a;$a = 7; // $a and $b are now both 7
可以通過重置它們來改變所指向的地址:
unset($a);
重置并不會(huì)改變$b(7)的值,但是可以破壞$a和值7保存在內(nèi)存中的鏈接。
10.4 比較操作符
10.4.1 等于操作符
相等的比較操作符==允許測試兩個(gè)值是否相等。
10.4.2 其他比較操作符
只有當(dāng)恒等操作符(===)兩邊的操作數(shù)相等并且具有相同的數(shù)據(jù)類型時(shí),其返回值才為true。
10.5 邏輯操作符
操作符“and”和“or”比&&和||的優(yōu)先級(jí)要低。
10.6 位操作符
位操作符可以將一個(gè)整型變量當(dāng)作一系列的位來處理。
10.7 其他操作符
逗號(hào)操作符“,”用來分隔函數(shù)參數(shù)和其他列表項(xiàng)。
new用來初始化類的實(shí)例。
->用來訪問類的成員。
10.7.1 三元操作符
condition ? value if true : value if false
10.7.2 錯(cuò)誤抑制操作符
錯(cuò)誤抑制操作符@可以在任何表達(dá)式前面使用:
$a = @(57/0);
可以抑制除0警告。
如果通過這種方法抑制了一些警告,一旦遇到一個(gè)警告,你就要寫一些錯(cuò)誤處理代碼。
如果已經(jīng)啟用了PHP配置文件中的track_errors特性,錯(cuò)誤信息將會(huì)被保存在全局變量$php_errormsg中。
10.7.3 執(zhí)行操作符
PHP將試著將反向單引號(hào)之間的命令當(dāng)做服務(wù)器端的命令行來執(zhí)行。
$out = `dir c:`;echo `<pre>`.$out.`</pre>`;
得到一個(gè)目錄列表并且將該列表保存在$out中,再將該列表顯示在瀏覽器中或用其他方法來處理。
10.7.4 數(shù)組操作符
數(shù)組元素操作符([])允許訪問數(shù)組元素。在某些數(shù)組上下文中,也可以使用=>操作符。
10.7.5 類型操作符
instanceof操作符允許檢查一個(gè)對(duì)象是否是特定類的實(shí)例。
11.計(jì)算表單總金額
define('TIREPRICE',100);define('OILPRICE',10);define('SPARKPRICE',4);// create short variable names$tireqty = $_POST['tireqty'];$oilqty = $_POST['oilqty'];$sparkqty = $_POST['sparkqty'];$totalqty = 0;$totalqty = $tireqty + $oilqty + $sparkqty;echo 'Items ordered: '.$totalqty.'<br />';$totalamount = 0.00; $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;echo 'Subtotal: $'.number_format($totalamount,2).'<br />';$taxrate = 0.10; // local sales tax is 10%$totalamount = $totalamount * (1 + $taxrate);echo 'Total including tax: $'.number_format($totalamount,2).'<br />';
12.操作符的優(yōu)先級(jí)和結(jié)合性
優(yōu)先級(jí):執(zhí)行順序。
結(jié)合性:同一優(yōu)先級(jí)的操作符的執(zhí)行順序。
13.使用可變函數(shù)
13.1 測試和設(shè)置變量類型
string gettype(mixed var);bool settype(mixed var, string type);
其他測試函數(shù):
is_array():檢查變量是否是數(shù)組。
is_double()、is_float()、is_real():是否是浮點(diǎn)數(shù)
is_long()、is_int()、is_integer():是否是整數(shù)
is_string():是否是字符串
is_bool():是否是布爾值
is_object():是否是一個(gè)對(duì)象
is_resource():是否是一個(gè)資源
is_null():是否為null
is_scaler():是否是標(biāo)量
is_numeric():是否是任何類型的數(shù)字或數(shù)字字符串
is_callable():是否是有效的函數(shù)名稱
13.2 測試變量狀態(tài)
isset():判斷變量是否存在(可傳變量列表)
unset():銷毀一個(gè)變量
empty():檢查一個(gè)變量是否存在,以及它的值是否為非空和非0
13.3 變量的重解釋
目測強(qiáng)制轉(zhuǎn)換:
int intval(mixed var [, int base]);float floatval(mixed var);string strval(mixed var);
intval()函數(shù)也允許在要轉(zhuǎn)換的變量為字符串時(shí)指定轉(zhuǎn)換的進(jìn)制基數(shù)。
14.根據(jù)條件進(jìn)行決策
elseif語句中間的空格可有可無。
15.通過迭代實(shí)現(xiàn)重復(fù)動(dòng)作
Html代碼:
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>freight</title></head><body> <table border='0' cellpadding='3'> <tr> <td bgcolor='#ccc' align='center'>Distance</td> <td bgcolor='#ccc' align='center'>Cost</td> </tr> <tr> <td align='right'>50</td> <td align='right'>5</td> </tr> <tr> <td align='right'>100</td> <td align='right'>10</td> </tr> <tr> <td align='right'>150</td> <td align='right'>15</td> </tr> <tr> <td align='right'>200</td> <td align='right'>20</td> </tr> <tr> <td align='right'>250</td> <td align='right'>25</td> </tr> </table></body></html>
15.1 while循環(huán)
PHP代碼:
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>freight.php</title></head><body> <table border='0' cellpadding='3'> <tr> <td bgcolor='#ccc' align='center'>Distance</td> <td bgcolor='#ccc' align='center'>Cost</td> </tr> <?php $distance = 50; while($distance <= 250){ echo '<tr> <td align='right'>'.$distance.'</td> <td align='right'>'.($distance/10).'</td> </tr>'; $distance += 50; } ?> </table></body></html>
注意right這里用的是”而不是單引號(hào)。
15.2 for和foreach循環(huán)
可以將可變變量和for循環(huán)結(jié)合起來重復(fù)一系列的表單域。
for($i=1;$i<=$numnames;$i++){ $temp = “name$i”; echo $$temp. ‘<br />’;}
通過動(dòng)態(tài)地創(chuàng)建變量名稱,可以依次訪問每一個(gè)表單域。
16.從控制結(jié)構(gòu)或腳本中跳出
a)終止循環(huán):break
b)調(diào)到下一次循環(huán):continue
c)結(jié)束整個(gè)PHP腳本的執(zhí)行:exit
17.使用可替換的控制結(jié)構(gòu)語法
if($totalqty == 0) : echo “You did not order anything on the previous page!<br />”; exit;endif;PHP編程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選