Вот мой код:
$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']
Вам просто нужно сделать свой use
переменная, изменяемая по ссылке:
$closure = function ($value, $key) use (&$finalData) {
// add this-----------------------------^
Других решений пока нет …