Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将while循环转换为foreach循环?_Php_Foreach - Fatal编程技术网

Php 如何将while循环转换为foreach循环?

Php 如何将while循环转换为foreach循环?,php,foreach,Php,Foreach,我正在尝试学习PHP,但我不知道如何转换为下面的代码,以便它与foreach一起工作。感谢您的帮助。谢谢 $number = $_GET["number"]; $total = ($number*($number+1)) / 2; $retval = "1"; $i=2; while ($i<=$number) { $retval .= ' + ' . $i; $i++; } echo $retval . " = " . $total . "<br>";

我正在尝试学习PHP,但我不知道如何转换为下面的代码,以便它与foreach一起工作。感谢您的帮助。谢谢

$number = $_GET["number"]; 
$total = ($number*($number+1)) / 2; 
$retval = "1"; 
$i=2;

while ($i<=$number) {
    $retval .= ' + ' . $i;
    $i++;
}
echo $retval . " = " . $total . "<br>";
$number=$\u GET[“number”];
$total=($number*($number+1))/2;
$retval=“1”;
$i=2;
而($i

foreach用于循环数组。计数器的作用不大。 作为替代方案,您希望的可能是for循环

for ($i=0;$i<=$number;$i++) {
}
对于($i=0;$i),您可以使用来迭代数组。您可以使用来获取从初始值(
$i=2
)到最大值(即,
$number
)的数组


希望while语句的转换很容易看到,但如果没有,可能会有所帮助。

不需要任何类型的循环:
$retval=array\u sum(range(1,$\u GET['number'));
非常感谢,这正是我想要的。
$number = $_GET["number"]; 
$total = ($number*($number+1)) / 2; 
$retval = "1"; 
foreach(range(2,$number) as $i) {
    $retval .= ' + ' . $i;
}
echo $retval . " = " . $total . "<br>";
for($i=2; $i <= $number; $i++) {
    $retval .= ' + ' . $i;
}