Доступ к переменным из функции обратного вызова функции 'each'

0

У меня есть функция Laravel ->each() внутри цикла.

Я хочу иметь возможность получить переменные цикла из каждой функции.

    foreach ($stringsArray as $string) {
        if (!empty($string)) {
            DBModel::all()->each(function (DBModel $model) {
                    global $string;
                    // $string at this point is nothing/undefined

Как я могу получить $string из функции ->each()?

Это использует laravel 4.2.

С текущим кодом $string не определена (с global директивой или без нее).

Теги:

1 ответ

5
Лучший ответ

Вы должны использовать ключевое слово use чтобы использовать его в анонимной области. Http://php.net/manual/en/functions.anonymous.php

$example = function () use ($message) {
        var_dump($message);
};

$example();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню