Есть ли способ обновить переменные области вызова от закрытия php

use Ключевое слово с php closure является довольно понятным способом расширить область действия выбранной переменной до закрытия.

Есть ли способ, если нам нужно обновить значение некоторой переменной в области действия вызывающей функции из замыкания?

$total_strength = 0;
$all_cores->each(function($core) use ($total_strength) {
    $total_strength += $code->strength;
});

print('Cumulative cores' strength is: ' . $total_strength);

Здесь я всегда получаю 0. Как это исправить?

1 ответ

Решение

Вы можете просто передать аргумент по ссылке, например:

use (&$total_strength)
   //^ See here
Другие вопросы по тегам