2016-12-21 1 views
-2

Я пытаюсь изучить PHP, и я не могу понять, как преобразовать в следующий код, чтобы он работал с foreach. Любая помощь приветствуется. Благодарю.Как это сделать в цикле foreach?

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

while ($i<=$number) { 
    $retval .= ' + ' . $i; 
    $i++; 
} 
echo $retval . " = " . $total . "<br>"; 
+0

Нет необходимости в цикле любого типа: '$ retval = array_sum (диапазон (1, $ _GET ['number']));' –

ответ

0

Вы можете использовать foreach перебрать массив. Вы можете использовать range(), чтобы получить массив, начинающийся с начального значения ($i=2) до максимального числа (то есть $number).

$number = $_GET["number"]; 
$total = ($number*($number+1))/2; 
$retval = "1"; 
foreach(range(2,$number) as $i) { 
    $retval .= ' + ' . $i; 
} 
echo $retval . " = " . $total . "<br>"; 

Вы можете увидеть это продемонстрировано в this phpfiddle - Обратите внимание, что я установил значение для $number 6, потому что мы не имеем строку запроса.

В противном случае, чтобы упростить его, мы могли бы переписать while заявление как for заявление:

for($i=2; $i <= $number; $i++) { 
    $retval .= ' + ' . $i; 
} 

Будем надеяться, что преобразование из заявления в то время как легко видеть, но если нет, то, возможно, the manual page должно помочь.

+0

Большое спасибо, это было то, что я искал. – Zevothan