php Передать переменную из родительской области видимости в анонимную функцию
Primary tabs
Необходимо использовать в анонимной функции какую-то переменную из родительской области видимости.
Если просто использовать переменную внутри анонимной функции:
$example = function () { var_dump($message); }; $example();
Возникает ошибка:
Undefined variable: message
Решение
Используйте слово use:
$example = function () use ($message) { var_dump($message); }; $example();
Пример с array_map
Функция array_map() принимает в качестве первого аргумента анонимную функцию. Передадим в функцию помимо очередного значения массива request из родительской области видимости:
$foundProducts = array_map(function(Product $product) use ($request) { return [ 'name' => $product->getName(), 'url' => $request->getSchemeAndHttpHost() . $this->generateUrl('products'), ]; }, $searchResult);
Источники
- Log in to post comments
- 8467 reads
vedro-compota
Fri, 12/08/2017 - 14:05
Permalink
спасибо, полезно) раньше не
спасибо, полезно) раньше не сталкивался.
_____________
матфак вгу и остальная классика =)