我写了这个
$result = array();
array_map(function($row) use ($result) {
$result[$row->id] = array();
$result[$row->id]['geojson'] = $row->geojson;
}, $regions);
并且$result
在结尾处为空。
是否有可能以这种方式填充数组?
答案 0 :(得分:5)
$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;
}