Всем привет! Сейчас изучаю php по видео-курсу с youtube. Естественно стараюсь не просто смотреть, хлопая глазками, а разбираться в том, что происходит. Впервые столкнулся с тем, что не могу до конца понять, как получился результат. В целом-то предположительно понимаю, но вот как это получилось чисто технически, не могу до конца врубиться. Объясните, пожалуйста, кому не лень. Я ещё мега нуб, меньше трёх недель изучаю слоника =(
Результат: 20
Вот код:
Дмитрий, то есть foo помещается в $callback, а 1, 2, 3, 4 в $numbers из-за ...
array_sum($numbers) - это 10
$callback умножает 10 на 2 и возвращает результат, так?
$sum = function (callable $callback, int|float ...$numbers) — функция принимает другую функцию, какую сделаете и передадите, такая и прийдет (что логично?)
$sum('foo', 1, 2, 3, 4) — тут немного особенностей PHP, если вызывать как callable строку, то будет вызываться функция с значением из строки в качестве названия, также если как callable вызывать массив с [$obj, 'foo', 1, 'Maks'],
то будет вызов метода у объекта $obj->foo(1, 'Maks')