PHP 语言学习了很多 C 语言的优点,特别是它的流程控制语句,几乎和 C 语言的一模一样。有 C 语言基础的看一遍就能够掌握。
条件语句
PHP 条件语句包括两种,一种是 if…elseif…else 语句,另一种是 switch 语句。
if…elseif…else 语句
从下面的例子可以看到,PHP 中的 if…elseif…else 和 C 语言的是一模一样的。
$a = 3;
$b = 4;
if($a > $b)
echo "a 大于 b";
elseif($a==$b)
echo "a 等于 b";
else
echo "a 小于 b";
?>
执行结果:
a 小于 b
switch 语句
显然 switch 语句的语法也是和 C 语言一样的。
$c = 'b';
switch ($c) {
case 'a':
echo "c=$c";
break;
case 'b':
echo "c=$c";
break;
default:
echo "c is unknown";
break;
}
$d = 2;
switch ($d) {
case 1:
echo "d=$d";
break;
case 2:
echo "d=$d";
break;
default:
echo "d is unknown";
break;
}
?>
执行结果:
c=b
d=2
循环语句
PHP 的循环语句有 for,while,do…while 和 foreach 四种,比 C 语言多一种 foreach 数组遍历的语句。
for 语句
for 循环语句的语法也是与 C 语言中的 for 语句一模一样,没有任何变动。
for($counter = 0; $counter < 10; $counter++ )
{
echo "counter is equal to $counter ...";
}
?>
输出结果:
counter is equal to 0 ...
counter is equal to 1 ...
counter is equal to 2 ...
counter is equal to 3 ...
counter is equal to 4 ...
counter is equal to 5 ...
counter is equal to 6 ...
counter is equal to 7 ...
counter is equal to 8 ...
counter is equal to 9 ...
while 语句
while 语句也一样。
$i = 65;
echo "Here are 26 letters:";
while ($i < 91) {
echo chr($i);
$i++;
}
echo "";
?>
执行结果:
Here are 26 letters:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
do…while 语句
$k = 90;
echo "Here are 26 letters:";
do{
echo chr($k);
$k--;
}while($k>64);
echo "";
?>
输出结果:
Here are 26 letters:
ZYXWVUTSRQPONMLKJIHGFEDCBA
foreach 语句
foreach 语句是 C 语言中没有的循环结构,但在 Python 等许多其他脚本语言中都存在这个循环结构,而且用法也大多数相同的。
$i = 65;
$letters = [];
while ($i < 75) {
$letters[$i-65]=chr($i);
$i++;
}
echo "Here are some letters:";
foreach ($letters as $key => $value) {
echo "key=$key,value=$value";
}
echo "";
?>
上面的代码中使用 while 循环构造长度为 10 的数组$letters,数组元素为字母,然后使用 foreach 遍历$letters 数组。
输出结果:
Here are some letters:
key=0,value=A
key=1,value=B
key=2,value=C
key=3,value=D
key=4,value=E
key=5,value=F
key=6,value=G
key=7,value=H
key=8,value=I
key=9,value=J
foreach 的第一个参数是需要被遍历的数组,第二个参数为当前的索引值,第三个参数为当前数组元素的值,遍历的顺序是从头到尾。$key=>可以省略。
再看个例子:
$arr = [
'1' => "一心一意",
'2' => "二货",
'a' => "apple",
'b' => "banana",
'c' => "cat",
];
foreach ($arr as $ki => $val) {
echo "ki=$ki,val=$val";
}
foreach ($arr as $val) {
echo "val=$val";
}
echo "";
?>
输出结果:
ki=1,val=一心一意
ki=2,val=二货
ki=a,val=apple
ki=b,val=banana
ki=c,val=cat
val=一心一意
val=二货
val=apple
val=banana
val=cat
break 和 continue
break 和 continue 的使用于 C 语言中的一致。break 用来跳出循环或者跳出 switch 结构,而 continue 则是用来结束本次循环但不是终止循环。
$arr = [
'1' => "一心一意",
'2' => "二货",
'a' => "apple",
'b' => "banana",
'c' => "cat",
];
echo "break:";
foreach ($arr as $ki => $val) {
if($ki == 'a')
break;
echo "ki=$ki,val=$val";
}
echo "continue:";
foreach ($arr as $val) {
if($val == "apple")
continue;
echo "val=$val";
}
echo "";
?>
输出结果:
break:
ki=1,val=一心一意
ki=2,val=二货
continue:
val=一心一意
val=二货
val=banana
val=cat
仔细观察上面两个循环输出的结果就能看出 break 与 continue 的区别。
TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 入门之流程控制(条件与循环)