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);Источники
- https://stackoverflow.com/questions/8745447/array-map-function-in-php-with-parameter
- http://php.net/manual/ru/functions.anonymous.php
- Log in to post comments
- 9296 reads
vedro-compota
Fri, 12/08/2017 - 14:05
Permalink
спасибо, полезно) раньше не
спасибо, полезно) раньше не сталкивался.
_____________
матфак вгу и остальная классика =)