PHP入门之流程控制(条件与循环)

Web TOMORROW 2个月前 (10-06) 167次浏览 0个评论 扫描二维码
文章目录[隐藏]

PHP 语言学习了很多 C 语言的优点,特别是它的流程控制语句,几乎和 C 语言的一模一样。有 C 语言基础的看一遍就能够掌握。

条件语句

PHP 条件语句包括两种,一种是 if…elseif…else 语句,另一种是 switch 语句。

if…elseif…else 语句

从下面的例子可以看到,PHP 中的 if…elseif…else 和 C 语言的是一模一样的。

<?php
$a = 3;
$b = 4;
if($a > $b)
	echo "a 大于 b</br>";
elseif($a==$b)
	echo "a 等于 b</br>";
else
	echo "a 小于 b</br>";
?>

执行结果:

a 小于 b

 

switch 语句

显然 switch 语句的语法也是和 C 语言一样的。

<?php
$c = 'b';
switch ($c) {
	case 'a':
		echo "c=$c</br>";
		break;
	case 'b':
		echo "c=$c</br>";
		break;
	
	default:
		echo "c is unknown</br>";
		break;
}

$d = 2;
switch ($d) {
	case 1:
		echo "d=$d</br>";
		break;
	case 2:
		echo "d=$d</br>";
		break;
	
	default:
		echo "d is unknown</br>";
		break;
}
?>

执行结果:

c=b
d=2

 

循环语句

PHP 的循环语句有 for,while,do…while 和 foreach 四种,比 C 语言多一种 foreach 数组遍历的语句。

for 语句

for 循环语句的语法也是与 C 语言中的 for 语句一模一样,没有任何变动。

<?php
for($counter = 0; $counter < 10; $counter++ )
{
	echo "counter is equal to $counter ...</br>";
}
?>

输出结果:

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 语句也一样。

<?php
$i = 65;
echo "Here are 26 letters:</br>";
while ($i < 91) {
	echo chr($i);
	$i++;
}
echo "</br>";
?>

执行结果:

Here are 26 letters:
ABCDEFGHIJKLMNOPQRSTUVWXYZ

 

do…while 语句

<?php
$k = 90;
echo "Here are 26 letters:</br>";
do{
	echo chr($k);
	$k--;
}while($k>64);
echo "</br>";
?>

输出结果:

Here are 26 letters:
ZYXWVUTSRQPONMLKJIHGFEDCBA

 

foreach 语句

foreach 语句是 C 语言中没有的循环结构,但在 Python 等许多其他脚本语言中都存在这个循环结构,而且用法也大多数相同的。

<?php
$i = 65;
$letters = [];

while ($i < 75) {
	$letters[$i-65]=chr($i);
	$i++;
}

echo "Here are some letters:</br>";
foreach ($letters as $key => $value) {
	echo "key=$key,value=$value</br>";
}
echo "</br>";
?>

上面的代码中使用 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=>可以省略。

再看个例子:

<?php
$arr = [
		'1' => "一心一意",
		'2' => "二货",
		'a' => "apple",
		'b' => "banana",
		'c' => "cat",
		];

foreach ($arr as $ki => $val) {
	echo "ki=$ki,val=$val</br>";
}
foreach ($arr as $val) {
	echo "val=$val</br>";
}
echo "</br>";
?>

输出结果:

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 则是用来结束本次循环但不是终止循环。

<?php
$arr = [
		'1' => "一心一意",
		'2' => "二货",
		'a' => "apple",
		'b' => "banana",
		'c' => "cat",
		];

echo "break:</br>";
foreach ($arr as $ki => $val) {
	if($ki == 'a')
		break;
	echo "ki=$ki,val=$val</br>";
}

echo "continue:</br>";
foreach ($arr as $val) {
	if($val == "apple")
		continue;
	echo "val=$val</br>";
}
echo "</br>";
?>

输出结果:

break:
ki=1,val=一心一意
ki=2,val=二货
continue:
val=一心一意
val=二货
val=banana
val=cat

仔细观察上面两个循环输出的结果就能看出 break 与 continue 的区别。

 


TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 入门之流程控制(条件与循环)
喜欢 (0)
TOMORROW
关于作者:
TOMORROW星辰第一作者。如有疑问或者发现错误,请留言作者。
强健的小笼包发表我的评论  如需接收评论回复通知,请填写正确的 个人信息
取消评论
表情 加粗 斜体 签到