Функция, которая лежит в переменной
$positive_num
работает без указания аргумента.
То есть, при вызове этой функции мы не устанавливаем аргумент,
а она работает. Как это понимать?
Ведь учебники меня учили, если в функции есть аргумент,
то при ее вызове обязательно нужно установить этот самый аргумент.
function sum(array $numbers, callable $condition){
$result = 0;
foreach($numbers as $number){
if($condition($number)){
$result += $number;
}
}
return $result;
}
$positive_num = function($n){ // функция, где нужно указать аргумент "$n"
return $n > 0;
};
$array = [-2, -1, 0, 1, 2, 3, 4, 5];
$result = sum($array, $positive_num); // вызов этой функции, но здесь мы не указали аргумент, так почему она работает?
echo $result;