While 循环

在 PHP 中,最简单的循环就是 While 循环,如果你理解了 If 判断,那写 While 循环就一定没有问题, While 循环和 If 的区别就在于,If 判断只会在 true 的时候执行之后的代码 一次,在 While 循环中,只要条件为 true ,就会一直 不断重复 执行代码。

<?php

$num = 1;
while ($num <= 5) {
    print($num);
    $num = $num + 1; # 自增
}

?>

在这里我们就会输出 12345,当 $num 大于 5 的时候,循环结束。

For 循环

在上面的 While 循环当中,我们设定了一个计数器,然后每次在循环当中让这个计时器 +1 ,其实这个操作方法更加适合使用 for 循环来执行,我们可以先来看一下 for 循环在 PHP 中的结构:

<?php

for (运算式1; 条件式; 运算式2) {
    # 具体循环执行的代码
}

?>
  • 首先在一开始的时候,会先执行 运算式1 一次,在这里,我们通常会设定一个计数器的变量。
  • 在每次执行循环之前,都会测试 条件式,如果条件式为 true 则会执行循环内容,否则的话就会结束循环,我们通常都会判断计数器是否符合限制。
  • 运算式2 会在每次循环执行结束之后运行一次,在这里我们通常会调整计数器的值。

我们这里用 for 循环来实现一下上面 while 循环的效果:

<?php

for($num = 1; $num <= 5; $num = $num + 1) {
    print($num);
}

?>

Foreach 循环

foreach 循环通常都是伴随着 数组 一起使用的,也就是说,foreach 就是用来循环 数组 的内容的,我们可以看一下具体例子:

<?php

$nums = [1,2,3,4,5];
foreach($nums as $num) {
    print($num);
}

?>

同样也是输出 12345 ,我们会发现一件事情,这里我们调用数组没有使用到任何的 key 或者 下标,这个就是 foreach 循环的特性,通过 foreach 循环,你可以获取到数组内部的每一个值,这里就是把 $nums 数组的每一个值在循环里放到 $num 当中。

那遇到有 key 的数组怎么办呢?或者说我们想要获取 key 怎么办呢?在 foreach 循环中,我们也可以通过以下的写法获取到 key:

<?php

$data = [
    'username' => 'admin',
    'password' => '123456',
];

foreach($data as $key => $value) {
    print($key);
}

?>

这样我们的 key 就存在了 $key 变量当中,对应的值就存在了 $value 变量当中。