Код (Text): <?php function sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; } echo sum(1, 2, 3, 4); ?> Я не могу догнать почему выводит 10?
php код оформляй в теге [code=php][/code] раз не знаешь почитай документацию по тем функциям и лексемам что используешь
В документации всё есть https://php.net/manual/ru/functions.arguments.php#functions ... e-arg-list Что конкретно не понятно?
1 + 2 + 3 + 4 = 10. ВАШ КЭП. Код (Text): $acc += $n; Все тут случается. Оператор вида $a+=$b идентичен конструкции $a=$a+$b. Аналогично работают -= *= .= /= $numbers собирает полученные аргументы как массив. Идешь по массиву, плюсуешь каждую его часть к накопителю $acc. Отдаешь $acc. Броу, если это настолько неочевидно, то у тебя проблемы...
Она типо активирует процесс выполнения того что написано в переменной? Код (Text): <?php function mySum($numX, $numY){ $total = $numX + $numY; return $total; } $myNumber = 0; echo "$myNumber <br />"; $myNumber = mySum(3, 4); // Сохраняем результат вызова функции mySum в переменную $myNumber echo "$myNumber <br />"; ?> $total = $numX + $numY; return $total; - слаживает $numX + $numY то есть 3 и 4
KOKS1999, читай книги, там всё с причинно следственными связями. А документация для внимательных и умеющих использовать поиск. https://php.net/manual/ru/function.return.php Ты лепил снежки и клал их в ведро, return это когда ты это ведро со снежками передал тем кто их будет кидать.
KOKS1999, ну есть функция f(x) = x * 2 если f(2) то будет 4 это понятно человеку, а вот программе мы указываем return чтобы закончить выполнение функции и вернуть результат её выполения Код (PHP): function summ($x) { $tmp = $x * 2; return $tmp; } $result = summ(2); echo $result; // результат будет 4
Ты даже не понимаешь, что такое переменная пока что. $total = $numX + $numY; - ты не операцию сложения записываешь в $total, а результат. return $total; - ты не активируешь ранее записанную операцию сложения, а возвращаешь результат. return - это ответ функции на вызов. Это то, что как бы займет место функции там, где она вызвана. echo sum(1,2); идентично echo (3); Потому что в sum эти два числа складываются и return отдает 3. Добавлено спустя 51 секунду: Ты гуманитарий чтоли? Не ищи сложное в простом. Не ищи глубинный смысл в операторах.