ホームページ > php教程 > php手册 > php 演算子と制御構造

php 演算子と制御構造

WBOY
リリース: 2016-06-13 12:02:01
オリジナル
1156 人が閲覧しました

操作符

操作符是用来对数组和变量进行某种操作运算的符号。

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

注:恒等表示只有两边操作数相等并且数据类型也相当才返回true;

例如:0= ="0" 这个返回为true ,因为操作数相等

      0= = ="0"  这个返回为false,因为数据类型不同

4、逻辑运算符

操作符

使用方法

使用方法

说明

!

!$b

如果$bfalse,则返回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 ループの構造は 3 つあります。
最初のループは if 条件のみを使用し、単純な判定として扱います。 「何かが起こったらどうするか」と解釈されます。構文は次のとおりです。
if (expr) { ステートメント }
ここで、expr は判定条件であり、通常は論理演算記号を判定条件として使用します。ステートメントは、条件を満たすプログラムの実行部分です。プログラムが 1 行のみの場合は、中括弧 {} を省略できます。
例: この例では中括弧が省略されています。

コードをコピー コードは次のとおりです:


if ($state==1)エコー「ははは」
例: この例の実行部分は 3 行あり、中括弧は省略できません。



コードをコピー

コードは次のとおりです: if ($state==1) {

echo "haha;

echo "
" ;
}
?>


2 つ目は、if に加えて else 条件を追加することです。は、「何かが起こった場合の対処方法、またはそれ以外の場合の解決方法」と解釈できます。 構文は次のとおりです:
if (expr) { state1 } else { state2 }
例: 上記の例を次のように変更します。処理は 1 行だけなので、中括弧を追加する必要はありません。




コードは次のとおりです。

<.>if ($state==1) { echo "はは" ; echo "
"; } else{

echo "はは";

echo "
"
}
?>



再帰的な if..else ループです。通常、さまざまな意思決定に使用されます。複数の if..else を組み合わせて直接適用します。



コードをコピー

コードは次のとおりです。


if ( $a > $b ) {

echo "a は b より大きい" } elseif ( $a = = $b ) { echo "a は b に等しい" ; } else { echo "a は b より小さい" ;

? >


上記の例では、2 つの変数 a と b を比較するために 2 レベルの if..else ループのみを使用しています。この種の再帰的な if..else ループを実際に使用する場合は、慎重に使用してください。多くのレベルのループを簡単に作成できます。ロジックの問題や中括弧の欠落などにより、プログラムに不可解な問題が発生します。

2. 変更のない for ループは 1 種類のみです。構文は次のとおりです。
for ( expr1; expr2; expr3) { ステートメント }
ここで、 expr1 は条件の初期値です。 expr2 は判定条件として使用されます。 expr3 はステートメント実行後に実行する条件で、次のサイクルで判定するための条件を変更する(1 つ追加するなど)ために使用されます。ステートメントは、条件を満たすプログラムの実行部分です。プログラムが 1 行のみの場合は、中括弧 {} を省略できます。
次の例は for ループを使用して記述されています:



コードをコピーします


コードは次のとおりです:


< ;?php
for ( $i = 1 ; $i echo "これは ".$i." 番目のループです
}

?> 3. スイッチ ループは通常、複合条件判断を処理します。実際には、同様の if 命令が多数使用されている場合、それらはスイッチ ループに合成できます。 構文は次のとおりです:

switch (expr) { case expr1: block; case expr2: block; }

expr 条件は通常、変数名です。 case の後の exprN は通常、変数の値を表します。コロン以降が条件に合致した実行部分となります。ループを抜け出すには必ず Break を使用してください。



コードをコピー

コードは次のとおりです:



switch ( date ( "D" ) ) {
case "Mon" :
echo "今日は月曜日" ;

case "火曜日" : echo "今日は火曜日" ; >case "水" : エコー "今日は水曜日" ; ケース "木" : エコー "今日は木曜日" ;

ケース "金曜日" :

echo "今日は金曜日です" ;
break;
デフォルト:
echo "今日は休日です" ;
break;
}
?>


ここで注意が必要なのはbreakです。省略しないでください。省略しても問題ありません。
明らかに、上記の例で if ループを使用するのは非常に面倒です。もちろん、設計時に最も発生確率の高い条件を先頭に、最も発生確率の低い条件を最後に配置すると、プログラムの実行効率が向上します。上記の例では、発生確率は毎日同じなので、条件の順序を気にする必要はありません。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート