2016-12-23 3 views
2
$bar =function foo() use (&a) { 

}; 

function bar(&b) { 

} 

Что происходит, если закрытие PHP без использования ключевого слова?Закрытие Php без использования ключевого слова

для использования, должен ли я использовать анонимную функцию? Зачем? (Я получил ошибку, если я не храню внутри переменной)

+0

Я использую анонимную функцию, если мне нужна функция, которую я буду использовать только один раз или будет использоваться только в одном конкретном фрагменте скрипта. Закрытие, которое я буду использовать, как показано ниже. Я обычно передавал текущий класс или какой-либо другой элемент, который может потребоваться внутри функции. Я лично не использую анонные функции очень часто, но они пригодились каждый раз и некоторое время. – Rasclatt

ответ

0

ключевое слово используется, когда ваше закрытие хочет получить доступ к переменной за пределами закрытия.

$a = "some value"; 

$bar = function() use($a) { 
    $a = "other value"; 
}; 

$bar(); 
print($a); 
// Result: other value 
+0

1. зачем нужно использовать анонимный? 2. без использования, он все еще может получить доступ и обновить внешнюю переменную –

+0

, кстати, ваше использование (& $ a) u забыто & –

+0

@BenjaminW Использование '&' для передачи будет ссылкой, это не требуется, если это вам не понадобится. – Rasclatt

Смежные вопросы