нашел такой код не могу понять почему на выход выдаёт 10 а не 6 function func($arg) { $result= 0; for($i=0; $i<$arg; $i++) { $result= $result+ $i; } return $result; } echo func(5);
Всё правильно --- Добавлено --- PHP: $result = 0 + 0 = 0; // $i = 0, $result = 0 $result = 0 + 1 = 1; // $i = 1, $result = 1 $result = 1 + 2 = 3; // $i = 2, $result = 3 $result = 3 + 3 = 6; // $i = 3, $result = 6 $result = 6 + 4 = 10; // $i = 4, $result = 10
Для вывода всех результатов записывай каждый в массив и тогда получишь всё, а не последнее, т.е. что-то такое PHP: function func($arg) { $result = []; for($i=0; $i<$arg; $i++) { $result[] = $i; } return $result; } print_r(func(5)) ; Или если тебе нужно начинать с какого-то определенного числа то: PHP: function func($arg) { $result = []; $start = 5; for($i=0; $i<$arg; $i++) { $result[] = $start + $i; } return $result; } print_r(func(5)) ;