Функция анонимного может использоваться как функция обратного вызова для функции, например. array_map
, и одним из его преимуществ является использование use
для использования переменной извне функции. Например:Альтернатива «использования» в старой версии PHP
$var = 10;
$x = array_map(function($e) use ($var) { if($var > 5) return $e['prop']; }, $myArray);
В старой версии PHP, когда обратный вызов должен быть существующей функцией и функцией, например. array_map
получает имя функции в качестве аргумента обратного вызова?
$var = 10;
$x = array_map("myFunction", $myArray);
function myFunction($e) {
//how to get $var here?
}
Пожалуйста, имейте в виду, что я ищу для решения других, чем при использовании global
переменной. Благодарю.
но каковы вы действительно пытаетесь достичь? –
Я бы использовал '$ GLOBALS ['var']'. '$ GLOBALS' является суперглобальной переменной (например,' $ _GET' или '$ _POST'), поэтому доступной для каждой функции. Каждая переменная является индексом в этом суперглобале. – Iansus
@Dagon: Я хотел бы добиться того же, что и использование анонимной функции с 'use', но в более раннем PHP, который не поддерживает анонимную функцию. – maspai