我需要创建一个位置数组数组,它必须看起来像这样
$relevanceKeys = array(
'locations' => array(
array(
'longitude' => '123456',
'latitude' => '123456'
),
array(
'longitude' => '123456',
'latitude' => '123456'
)
... more arrays
)
);
但是我需要动态生成它们,所以它开始像
$relevanceKeys = array(
'locations' => array(
)
);
然后我想从我在数据库中找到的行中添加每个数组:
while ($row = $result->fetch_object()) {
$array = array(
array (
'longitude' => $row->longitude,
'latitude' => $row->latitude
)
);
$relevanceKeys['locations'] = $relevanceKeys['locations'] + $array;
}
但这不起作用,之后文件无法读取。它被导出为不同的格式,所以我无法看到它是否正确地变成了数组树。
我从这里阅读了如何附加PHP数组http://php.net/manual/en/function.array-merge.php
我试过unnested $array
并嵌套在另一个数组中,就像现在一样,没有运气
答案 0 :(得分:2)
只需按照以下方式附加数组:
$relevanceKeys['locations'][] = $array;
//^^ See here
你不必一直合并它们!
另外我想你想改变这个:
$array = array(
array (
'longitude' => $row->longitude,
'latitude' => $row->latitude
)
);
以获得您期望的结构:
$array = array(
'longitude' => $row->longitude,
'latitude' => $row->latitude
);
有关数组的详细信息,请参阅手册:http://php.net/manual/en/language.types.array.php
答案 1 :(得分:1)
由于您只需要将元素推送到数组,因此您只需使用[]
结构,如下所示:
while ($row = $result->fetch_object())
{
$relevanceKeys['locations'][] = array (
'longitude' => $row->longitude,
'latitude' => $row->latitude
);
}