首页 > 解决方案 > 为什么 for loop php 输出这个结果?

问题描述

我不明白 PHP 中的 for 循环,

`$total = 0;

for ($i = 1; $i <= 10; $i++) {
    $total += $i;
    
}
echo $total;`

通常等于 11 否?他向我输出 55​​,但对于 python,当您使用“while 循环”执行类似代码时

total = 0

while total <= 10:
    total+=1
print(total)

输出我 11

请问有人可以帮助我吗?

标签: php

解决方案


你的 PHP 和 python 代码是不等价的。在 python 中,您只需在循环中每次添加 1。然而,在 PHP 中,您将值添加到 $i 值中,当然每次都会不断增加 - 即 1+2+3+3+5...等。

你可以写

$total += 1;

要不就

$total++;

相反,它的工作方式与 python 相同。但是话又说回来了,$total因为它与 具有相同的值$i,并且您实际上并不需要两个变量来完成相同的工作。

或者你可以编写一个while循环来更直接地等效于 python:

$total = 0;

while ($total <=10) {
  $total++;
}

echo $total;

推荐阅读