PHP分支循环

46 阅读1分钟

分支

if

实现if...elseif...else非常的简单

$a = 2;
if ($a == 1) {
    echo 'a==1';
} elseif ($a == 2) {
    echo 'a==2';
} else {
    echo 'can\'t judget';
}

switch

同时php还提供了switch语句

$a = 1;
switch ($a) {
    case 1:
        echo 'a==1';
        break;
    case 2:
        echo 'a==2';
        break;
    default:
        echo 'a !=1 and a !=2';
}

循环

while

当条件为真时,循环执行代码

while (condition)
{
    code;
}

比如

$i = 0;
while($i <= 5)
{
    echo "$i";
    $i++;
}

do while

首先执行一次循环,在进行条件判断

do
{
    code;
}
while (condition);

比如

$i = 0;
do {
    echo "$i";
    $i++;
} while ($i < 0)

这个代码首先会输出0,然后在执行循环的判断

for

通过初始值start,判断对应condition为真的情况进行循环代码执行,值start可以在循环过程进行change

for (start; condition; change)
{
    code
}

比如对1-10求和

$sum = 0;
for ($i = 0; $i <= 10; $i++) {
    $sum += $i;
}
echo $sum;

结果为55

foreach

用以遍历数组,如果只是获取数组的value值,那么单个as对应的变量

foreach($array as $value){
}

如果希望获取到数组对应的keyvalue

foreach($array as $key => $value){
}

比如

$my_array = [
    'a' => 1,
    'b' => 2
];
foreach ($my_array as $value) {
    echo "$value<br>";
}
// 输出 1 2

或者

$my_array = [
    'a' => 1,
    'b' => 2
];
foreach ($my_array as $key => $value) {
    echo "$key: $value<br>";
}
// 输出 a:1 b:2

break

使用break可以跳出循环,比如只生成十次随机数

$i = 0;
while (true) {
    echo rand(1, 100) . "<br>";
    $i++;
    if ($i == 10) {
        break;
    }
}

continue

使用continue可以跳过本次循环,比如生成的随机数为偶数时跳过

$i = 0;
while ($i < 10) {
    $num = rand(1, 100);
    $i++;
    if ($num % 2 === 0) continue;
    echo $num . "<br>";
}

rand方法可以生成一定范围的随机整数