Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
$bonus = 5;
$pay = fn(int $base) => $base + $bonus;
$bonus = 50;
$len = strlen(...);
echo $pay(100), ' ', $len('abcd'), "\n";105 4
- Ждать
150, будтоfnчитает$bonusпри вызове: стрелочная функция захватывает по значению при создании, и$bonus = 50до неё не доходит. - Ждать, что стрелочной функции нужен
use, как анонимной:fnсама захватывает каждую внешнюю переменную, которую упоминает её выражение.
- Как сделать так, чтобы функция увидела новое значение
$bonus? - Чем
strlen(...)отличается от строки'strlen'в роли вызываемого значения?