我正在制作我的第一个PHP应用程序,我在最后的障碍中陷入困境。
我正在循环我的结果,需要在PHP中的foreach循环中对函数的结果进行排序。
如果有人对我如何做到这一点有任何见解,我们非常感谢!
foreach($data as $d) {
echo $d["StudioName"]; // This will output "This is a test!"
echo distance($lat, $lng, $d['StudioLat'], $d['StudioLong']);}
基本上我需要的是按照"距离"功能结果。
$sqlSelect = "SELECT * FROM studios WHERE StudioLat BETWEEN $minlat AND $maxlat AND StudioLong BETWEEN $minlng AND $maxlng"; // Basic SQL SELECT Statment
$data = $dataBase->getQuery($sqlSelect); // This will run the SQL statment and return and associative array.
答案 0 :(得分:0)
使用usort and a callback对数组进行排序:
usort($data, function($a, $b) use ($lat, $lng) {
$da = distance($lat, $lng, $a['StudioLat'], $a['StudioLong']);
$db = distance($lat, $lng, $b['StudioLat'], $b['StudioLong']);
return $da - $db;
});
之后,您可以循环遍历数组并输出其项目,就像您一样。