php 操作符與控制結構

2022-09-28 09:12:08 字數 4122 閱讀 4530

操作符

操作符是用來對陣列和變數進行某種操作運算的符號。

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

>

大於$a>$b

<=

小於等於

$a<=$b

>=

大於等於

$a>=$b

注:恒等表示只有兩邊運算元相等並且資料型別也相當才返回true;

例如:0= ="0" 這個返回為true ,因為運算元相等

0= = ="0"  這個返回為false,因為資料型別不同

4、邏輯運算子

操作符使用方法

使用方法說明!

非!$b

如果$b是false,則返回true;否則相反&&與

$a&&$b

如果$a和$b都是true,則結果為true;否則為false||或

$a||$b

如果$a和$b中有乙個為true或者都為true時,其結果為true;否則為false

and與

$a and $b

與&&相同,但其優先順序較低or或

$a or $b

與||相同,但其優先順序較低

操作符"and"和"or"比&&和||的優先順序要低。

5、三元操作符

condition ? value if true : value if false

示例:($grade>=50 ? "passed" : "failed")

6、錯誤抑制操作符:

$a=@(57/0);

除數不能為0,會出錯,所以加上@避免出現錯誤警告。

7、陣列操作符

操作符使用方法

使用方法說明+

聯合!$b

返回乙個包含了$a和$b中所有元素的陣列

= =等價

$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

操作符的優先順序和結合性:

一般地說,操作符具有一組優先順序,也就是執行他們的順序。

操作符還具有結合性,也就是同一優先順序的操作符的執行順序。這種順序通常有從左到右,從右到左或者不相關。

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

操作符優先順序

結合性操作符左,

左or左xor

左and

右print

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

左左||左

左|左^左

&不相關

= =  != =  = = =  != =

不相關<<= >>=

左<>

左+ - .

左* / %

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

不相關new

不相關()

為了避免優先順序混亂,可以使用括號避開優先順序。

控制結構

如果我們希望有效地相應使用者的輸入,**就需要具有判斷能力。能夠讓程式進行判斷的結構稱為條件。

1、if..else迴圈有三種結構

第一種是只有用到if條件,當作單純的判斷。解釋成「若發生了某事則怎樣處理」。語法如下:

if (expr)

其中的expr為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而statement為符合條件的執行部分程式,若程式只有一行,可以省略大括號 {}。

範例:本例省略大括號程式設計客棧。

複製** **如下:

php

if ($state==1)echo "哈哈" ;

?>

這裡特別注意的是,判斷是否相等是==而不是=,asp程式設計師可能常犯這個錯誤,=是賦值。

範例:本例的執行部分有三行,不可省略大括號。 repnnwmxu

複製** **如下:

<?php

if ($state==1)

?>

第二種是除了if之外,加上了else的條件,可解釋成「若發生了某事則怎樣處理,否則該如何解決」。語法如下:

if (expr) else

範例:上面的例子來修改成更完整的處理。其中的else由於只有一行執行的指令,因此不用加上大括號。

複製** **如下:

<?php

if ($state==1)

else

?>

第三種就是遞迴的if..else迴圈,通常用在多種決策判斷時。它將數個if..else拿來合併運用處理。

直接看下面的例子:

複製** **如下:

<?php

if ( $a > $b ) elseif ( $a == $b ) else

?>

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

2、for迴圈就單純只有一種,沒有變化,它的語法如下:

for (expr1; expr2; expr3)

其中的expr1為條件的初始值。expr2為判斷的條件,通常都是用邏輯運算符號(logical operators)當判斷的條件。expr3為執行statement後要執行的部份,用來改變條件,供下次的迴圈判斷,如加一..等等。而statement為符合條件的執行部分程式,若程式只有一行,可以省略大括號 {}。

下例是用for迴圈寫的的例子:

複製** **如下:

<?php

for ( $i = 1 ; $i <= 10 ; $i ++)

?>

3、switch迴圈,通常處理複合式的條件判斷,每個子條件,都是case指令部分。在實作上若使用許多類似的if指令,可以將它綜合成switch迴圈。

語法如下:

switch (expr)

其中的expr條件,通常為變數名稱。而case後的exprn,通常表示變數值。冒號後則為符合該條件要執行的部分。注意要用break跳離迴圈。

複製** **如下:

<?php

switch ( date ( "d" ))

?>

這裡需要注意的是break;別遺漏了,default,省略是可以的。

很明顯的,上述的例子用if迴圈就很麻煩了。當然repnnwmxu在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程式的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。

本文標題: php 操作符與控制結構

本文位址:

PHP的操作符與控制結構

一 操作符 操作符是用來對陣列和變數進行某種操作運算的符號。算術操作符 操作符 名稱 示例 加 a b 減 a b 乘 a b 除 a b 取餘 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....

第3章 操作符與控制結構

demo1.php username chaoyv echo his name is username username2 吳者然 echo his name is username2 echo echo his name is username2.閱誰問君誦,n水落清香浮。echo echo hi...

第3章 操作符與控制結構

demo1.php username chaoyv echo his name is username username2 吳者然 echo his name is username2 echo echo his name is username2.閱誰問君誦,n水落清香浮。echo echo hi...