有人可以告诉我如何从MySQL查询创建数组吗?
数组应如下所示:
<?php
$testLocs = array(
'1' => array( 'info' => '1. New Random info and new position', 'lat' => 45345345, 'lng' => 44.9634 ),
'2' => array( 'ino' => '1. New Random info and new position', 'lat' => 686788787, 'lng' => 188.9634),
'3' => array( 'info' => '1. New Random info and new position', 'lat' => 88888, 'lng' => 144.9634),
'4' => array( 'info' => '1. New Random info and new position', 'lat' => 666666, 'lng' => 144.964 )
);
echo json_encode($testLocs);
exit();
?>
info
的文字和lat
及lng
的数字是MySQL $rows
。
任何帮助都将不胜感激。
答案 0 :(得分:1)
阅读manual
从PHP手册中获取的示例
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
答案 1 :(得分:1)
如果我没有正确地解决它,你需要将mysql数组结果映射到某种规范化数组。函数array_map
对它来说是完美的:
$array = array_map(function ($row) {
return array(
'info' => $row['info'],
'lat' => $row['lat'],
'lng' => $row['lng'],
);
}, $rows);
如果您需要从1开始的索引,您还应该添加以下行:
$array = array_combine(range(1, count($array)), $array);
答案 2 :(得分:1)
obj.Test(notTest: null)
显然用正确的查询替换查询。
PS。这是mysql方式,而不是mysqli方式。可能值得同时考虑两者。