закрытие не выполняется, как ожидалось

Вот мой код:

$array = ['foo' => 'bar', 'bis' => 'ter'];
$finalData=[];
$closure = function ($value, $key) use ($finalData) {
$finalData[]=$value;
};
foreach ($array as $key => $value) {
$closure($value, $key);
}
var_dump($finalData); // array (0)

Почему $finalData иметь 0 elements внутри? Не должно ли это быть ['bar','ter']

0

Решение

Вам просто нужно сделать свой use переменная, изменяемая по ссылке:

$closure = function ($value, $key) use (&$finalData) {
// add this-----------------------------^

Демо-ссылка

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector