有人可以向我解释 php 中的这个循环吗?我不明白为什么 $a 的值为 20

Can someone explain me this loop in php? I can't understand why $a gets value 20

练习翻译:PHP中有一个代码片段。循环结束后,变量a得到value

$a 开始时为 0,$i 开始时为 10。

只要 () 中的表达式为真,while 循环中的代码就会 运行。在 PHP 中,任何不是 0 的数字都被视为 true

每次循环 运行s(或者如我们所说,每次“循环迭代”,都会发生两件事:

  1. $a 设置为 $a + 2。换句话说,$a 现在是之前的值加上 2。

  2. $i 减 1。换句话说,$i 现在是之前的值减 1。

这是每次迭代结束时每个变量的值:

Iteration Value of $a Value of $i
1 0 + 2 = 2 10 - 1 = 9
2 2 + 2 = 4 9 - 1 = 8
3 4 + 2 = 6 8 - 1 = 7
4 6 + 2 = 8 7 - 1 = 6
5 8 + 2 = 10 6 - 1 = 5
6 10 + 2 = 12 5 - 1 = 4
7 12 + 2 = 14 4 - 1 = 3
8 14 + 2 = 16 3 - 1 = 2
9 16 + 2 = 18 2 - 1 = 1
10 18 + 2 = 20 1 - 1 = 0

由于$i现在为0,()中的表达式被认为是false,所以循环停止,$a的值为20。