色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php 操作符與控制結(jié)構(gòu)

操作符

操作符是用來對數(shù)組和變量進行某種操作運算的符號。

1、算術操作符

操作符

名稱

示例

+

$a+$b

-

$a-$b

*

$a*$b

/

$a/$b

%

取余

$a%$b

2、復合賦值操作符

操作符

使用方法

等價于

+=

$a+=$b

$a=$a+$b

-=

$a-=$b

$a=$a-$b

*=

$a*=$b

$a=$a*$b

/=

$a/=$b

$a=$a/$b

%=

$a%=$b

$a=$a%$b

.=

$a.=$b

$a=$a.$b

前置遞增遞減和后置遞增遞減運算符:

$a=++$b;

$a=$b++;

$a=--$b;

$a=$b--;

3、比較運算符

操作符

名稱

使用方法

= =

等于

$a= =$b

= = =

恒等

$a= = =$b

!=

不等

$a!=$b

!= =

不恒等

$a!= =$b

<>

不等

$a<>$b

<

小于

$a<$b

>

大于

$a>$b

<=

小于等于

$a<=$b

>=

大于等于

$a>=$b

注:恒等表示只有兩邊操作數(shù)相等并且數(shù)據(jù)類型也相當才返回true;

例如:0= ="0" 這個返回為true ,因為操作數(shù)相等

      0= = ="0"  這個返回為false,因為數(shù)據(jù)類型不同

4、邏輯運算符

操作符

使用方法

使用方法

說明

!

!$b

如果$bfalse,則返回true;否則相反

&&

$a&&$b

如果$a$b都是true,則結(jié)果為true;否則為false

||

$a||$b

如果$a$b中有一個為true或者都為true時,其結(jié)果為true;否則為false

and

$a and $b

&&相同,但其優(yōu)先級較低

or

$a or $b

||相同,但其優(yōu)先級較低

操作符"and""or"&&||的優(yōu)先級要低。

5、三元操作符

Condition ? value if true : value if false

示例:($grade>=50 ? "Passed" : "Failed")

6、錯誤抑制操作符:

$a=@(57/0);

除數(shù)不能為0,會出錯,所以加上@避免出現(xiàn)錯誤警告。

7、數(shù)組操作符

操作符

使用方法

使用方法

說明

+

聯(lián)合

!$b

返回一個包含了$a$b中所有元素的數(shù)組

= =

等價

$a&&$b

如果$a$b具有相同的元素,返回true

= = =

恒等

$a||$b

如果$a$b具有相同的元素以及相同的順序,返回true

!=

非等價

$a and $b

如果$a$b不是等價的,返回true

<>

非等價

 

如果$a$b不是等價的,返回true

!= =

非恒等

$a or $b

如果$a$b不是恒等的,返回true

操作符的優(yōu)先級和結(jié)合性:

一般地說,操作符具有一組優(yōu)先級,也就是執(zhí)行他們的順序。

操作符還具有結(jié)合性,也就是同一優(yōu)先級的操作符的執(zhí)行順序。這種順序通常有從左到右,從右到左或者不相關。

下面給出操作符優(yōu)先級的表。最上面的操作符優(yōu)先級最低,按著表的由上而下的順序,優(yōu)先級遞增。

操作符優(yōu)先級

結(jié)合性

操作符

Or

Xor

And

Print

= += -= *= /= .= %= &= |= ^= ~= <<= >>=

:

||

&&

|

^

&

不相關

= =  != =  = = =  != =

不相關

<<= >>=

<< >>

+ - .

* / %

! ~ ++ -- (int)(double)(string)(array)(object) @

[]

不相關

New

不相關

()

為了避免優(yōu)先級混亂,可以使用括號避開優(yōu)先級。

控制結(jié)構(gòu)

如果我們希望有效地相應用戶的輸入,代碼就需要具有判斷能力。能夠讓程序進行判斷的結(jié)構(gòu)稱為條件。

1、if..else循環(huán)有三種結(jié)構(gòu)
第一種是只有用到if條件,當作單純的判斷。解釋成“若發(fā)生了某事則怎樣處理”。語法如下:
if (expr) { statement }
其中的expr為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號 {}。
范例:本例省略大括號。
復制代碼 代碼如下:
<?php
if ($state==1)echo "哈哈" ;
?>

這里特別注意的是,判斷是否相等是==而不是=,ASP程序員可能常犯這個錯誤,=是賦值。
范例:本例的執(zhí)行部分有三行,不可省略大括號。
復制代碼 代碼如下:
<?php
if ($state==1) {
echo "哈哈 ;
echo "<br>" ;
}
?>

第二種是除了if之外,加上了else的條件,可解釋成“若發(fā)生了某事則怎樣處理,否則該如何解決”。語法如下:
if (expr) { statement1 } else { statement2 }
范例:上面的例子來修改成更完整的處理。其中的else由于只有一行執(zhí)行的指令,因此不用加上大括號。
復制代碼 代碼如下:
<?php
if ($state==1) {
echo "哈哈" ;
echo "<br>";
}
else{
echo "呵呵";
echo "<br>";
}
?>


第三種就是遞歸的if..else循環(huán),通常用在多種決策判斷時。它將數(shù)個if..else拿來合并運用處理。
直接看下面的例子:
復制代碼 代碼如下:
<?php
if ( $a > $b ) {
echo "a 比 b 大" ;
} elseif ( $a == $b ) {
echo "a 等于 b" ;
} else {
echo "a 比 b 小" ;
}
?>

上例只用二層的if..else循環(huán),用來比較a和b兩個變量。實際要使用這種遞歸if..else循環(huán)時,請小心使用,因為太多層的循環(huán)容易使設計的邏輯出問題,或者少打了大括號等,都會造成程序出現(xiàn)莫名其妙的問題。

2、for循環(huán)就單純只有一種,沒有變化,它的語法如下:
for (expr1; expr2; expr3) { statement }
其中的expr1為條件的初始值。expr2為判斷的條件,通常都是用邏輯運算符號(logical operators)當判斷的條件。expr3為執(zhí)行statement后要執(zhí)行的部份,用來改變條件,供下次的循環(huán)判斷,如加一..等等。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號 {}。
下例是用for循環(huán)寫的的例子:
復制代碼 代碼如下:
<?php
for ( $i = 1 ; $i <= 10 ; $i ++) {
echo "這是第".$i."次循環(huán)<br>" ;
}
?>

3、switch循環(huán),通常處理復合式的條件判斷,每個子條件,都是case指令部分。在實作上若使用許多類似的if指令,可以將它綜合成switch循環(huán)。
語法如下:
switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }
其中的expr條件,通常為變量名稱。而case后的exprN,通常表示變量值。冒號后則為符合該條件要執(zhí)行的部分。注意要用break跳離循環(huán)。
復制代碼 代碼如下:
<?php
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ;
break;
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" :
echo "今天星期四" ;
break;
case "Fri" :
echo "今天星期五" ;
break;
default:
echo "今天放假" ;
break;
}
?>

這里需要注意的是break;別遺漏了,default,省略是可以的。
很明顯的,上述的例子用if循環(huán)就很麻煩了。當然在設計時,要將出現(xiàn)機率最大的條件放在最前面,最少出現(xiàn)的條件放在最后面,可以增加程序的執(zhí)行效率。上例由于每天出現(xiàn)的機率相同,所以不用注意條件的順序。

php技術php 操作符與控制結(jié)構(gòu),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 蒲江县| 永顺县| 平阴县| 越西县| 锦屏县| 和平区| 宁波市| 巴青县| 会昌县| 西峡县| 钦州市| 广饶县| 宁夏| 新田县| 龙山县| 贵溪市| 莫力| 开封县| 讷河市| 焉耆| 马山县| 青州市| 三台县| 万全县| 广水市| 航空| 南京市| 台前县| 新源县| 古浪县| 台中县| 城市| 英超| 都江堰市| 武功县| 靖安县| 密云县| 景德镇市| 东乡县| 庆阳市| 虹口区|