hashmap — Как заполнить массив вне замыкания в PHP?

Я написал это

 $result = array();

array_map(function($row) use ($result) {
$result[$row->id] = array();
$result[$row->id]['geojson'] = $row->geojson;
}, $regions);

а также $result пуст в конце.

Можно ли заполнить массив таким образом?

0

Решение

$result внутри функции находится копия внешнего массива, поэтому сделанные вами изменения не влияют на оригинал. Вам нужно использовать ссылку: use (&$result)

array_map(function($row) use (&$result) {
$result[$row->id] = array();
$result[$row->id]['geojson'] = $row->geojson;
}, $regions);

Или вы могли бы просто использовать foreach

foreach ($regions as $row) {
$result[$row->id] = array();
$result[$row->id]['geojson'] = $row->geojson;
}
5

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

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

По вопросам рекламы [email protected]