PHP if else while do-while for foreach switch循环语句


前言

本文主要介绍了PHP常见的循环流程控制语句。


提示:以下是本篇文章正文内容,下面案例可供参考

一、if else 语句

$a = 2;
$b = '3';

if($a < $b) echo "a小于b";	//或者下面这种加{}来控制语句组

if($a == $b) {	//加{}来控制多操作语句组
	echo "a等于b";
} else {
	echo "a不等于b";
}

if($a < $b) {
	echo "a小于b";
} else if ($a === $b) {		//注意===和==的区别
	echo "a全等于b";
} else if ($a == $b) {
	echo "a等于b";
} else if ($a > $b){
	echo "a大于b";
}

/* 正确的使用方法: */
if ($a > $b):
    echo $a." is greater than ".$b;
elseif ($a == $b): // 注意使用了一个单词的 elseif
    echo $a." equals ".$b;
else:
    echo $a." is neither greater than or equal to ".$b;
endif;

二、while、do-while 语句

$i = 1;
while ($i <= 10) {	//会循环输出1到10
	echo $i."<br>";
	$i++;
}

$j = 1;
while ($j <= 10):	//会循环输出1到10
    print $j;
    $j++;
endwhile;

//do-while和while区别在于表达式的值是在每次循环结束时检查而不是开始时。
//do-while首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。

$k = 1;
do{
	echo $k;	//会循环输出1到10
	$k++;
}while($k <= 10);

$l = 0;
do{
	echo $l;	//只会执行第一次,输出0
}while($l > 0);

三、for、foreach 语句

//for(expr1;expr2;expr3)	
	//statement
//expr1在循环开始前无条件先执行一遍
//expr2在每次循环开始前执行一遍
//expr3在每次循环之后执行一遍
for ($i = 1;$i <= 10;$i++) {	//循环输出1到10
	echo $i;
}

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;	//循环输出1到10
}

$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    echo $i;	//循环输出1到10
    $i++;
}

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);	//循环输出1到10

//foreach应用于数组和对象,每次循环中,当前单元的键名赋值给了$key,键值被赋给$value并且数组内部的指针向前移一步。
//当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。
$arr = ["a"=>"aa","b"=>"bb","c"=>"cc"];
foreach ($arr as $key => $value) {
	echo "键名:".$key." 键值:".$value."<br>";
}

foreach ($arr as $value) {
	echo "键值:".$value."<br>";
}

四、switch 语句

switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case 语句中的值和 switch 表达式的值匹配时 PHP 才开始执行语句,直到 switch 的程序段结束或者遇到第一个 break 语句为止。如果不在 case 的语句段最后写上 break 的话,PHP 将继续执行下一个 case 中的语句段。
1、对表达式(通常是变量)进行一次计算
2、把表达式的值与结构中 case 的值进行比较
3、如果存在匹配,则执行与 case 关联的代码
4、代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
5、如果没有 case 为真,则使用 default 语句

switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
}

switch ($i) {
case "apple":
    echo "i is apple";
    break;
case "bar":
    echo "i is bar";
    break;
case "cake":
    echo "i is cake";
    break;
default:
	echo "Not matched to";
	break;
}

switch ($i) {
    case 0:
        echo "i equals 0";
    case 1:
        echo "i equals 1";
    case 2:
        echo "i equals 2";
}
//这里如果$i等于0,PHP将执行所有的echo语句,如果$i等于1,PHP将执行后面两条echo语句。
//只有当$i等于2时,才会得到“预期”的结果——只显示“i equals 2”。
//在 switch 语句中条件只求值一次并用来和每个 case 语句比较。在 elseif 语句中条件会再次求值。
//如果条件比一个简单的比较要复杂得多或者在一个很多次的循环中,那么用 switch 语句可能会快一些。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了PHP常见的循环语句。

  • if else
  • while do-while(无条件先执行一次)
  • for(expr1;expr2;expr3),expr1在循环开始前无条件先执行一遍,expr2在每次循环开始前执行一遍,expr3在每次循环之后执行一遍。foreach应用于数组和对象,每次循环中,每次循环完指针移动。
  • switch:对表达式(通常是变量)进行一次计算。把表达式的值与结构中 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,break 语句阻止代码跳入下一个 case 中继续执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值