控制结构(判定,循环)if,switch,for,while,foreach,do
数值,字符串使用相同比较运算符。
条件表达式
== | 等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
=== | 恒等 |
!== | 不恒等(比较操作符) |
&& | 与(逻辑与) |
|| | 或(逻辑或) |
! | 非(逻辑非) |
and | 与(与&&相同,但其优先级较低) |
or | 或(与||相同,但其优先级较低) |
xor | 逻辑异或 |
True | 真 |
False | 假 |
if () 语句 判断
if (条件) { 条件为真时 } else { 条件为假时 } if (条件1) { 条件为真时 } elseif (条件2) { 条件为假时 } elseif (条件3) { 条件为假时 } else { 所有条件为假时 }
数值1,2与C语言一样是True(真)时处理。0是False(假)。
if ($a == 1) $b = 2; if ($a == 1) { $b = 2; } if ($a) { // $a 即便是2也要变成真,这点要注意 $b = 2; } if ($a == 1 && $b == 2) { $c = 1; } if (strpos($a, 'key') != -1) { $c = 1; } if (($i = strpos($a, 'key')) != -1) { $c = substr($a, $i, strlen('key')); }
最后的赋值结果,C语言可以很容易的看见。
PHP也可以使用。
switch () 多重判断
switch (式) { case 值1: break; case 值2: break; default: } switch ($a) { case 1: case 2: print "case1
n"; break; case 3: print "case2
n"; break; default: print "case else
n"; } switch ($a) { case 'abc': print "case1
n"; break; case 'def': print "case2
n"; break; default: print "case else
n"; }
没有break的时候,按case的顺序执行。
for () 循环
for (初期值; 条件; 增量) { break; // 退出循环 continue; // 继续循环 } for ($i = 1; $i <= 10; $i++) { $a[$i] = 2; } for ($i = 1, $j = 1; $i <= 10 and $j == 5; $i++, $j++) { $a[$i] = ++$j; } for (;;) { // 无限循环 }
while () 循环
while (条件) { 条件为真时循环 break; // 退出循环 continue; // 继续循环 }
foreach 循环 (reset、while、each)
$d = array('abc', 'def', 'ghi'); reset($d); while ($a = each($d)) { print "$a[0] - $a[1]
n"; } $d['key1'] = 'abc'; $d['key2'] = 'def'; $d['key3'] = 'ghi'; reset($d); while ($a = each($d)) { print "$a[0] - $a[1]
n"; }
foreach 循环(PHP4)
$d = array('abc', 'def', 'ghi'); foreach ($d as $a) { print "$a
n"; } $d['key1'] = 'abc'; $d['key2'] = 'def'; $d['key3'] = 'ghi'; foreach ($d as $a => $b) { print "$a $b
n"; }
do () 循环
do { break; // 退出循环 continue; // 继续循环 条件为真时循环 } while (条件);
一旦循环总是执行。
exit 退出
exit; // PHP 退出
return; // 函数退出