控制结构(判定,循环)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; // 函数退出

