douguio0185 2015-05-21 13:56
浏览 187
已采纳

按照距离对内容进行排序

I am developing an application with the Geotools package and I have one problem:

public function prodcercanos()
{
    $cercanos = User::with('municipio')->with('productos')->get();
    $coordA   = Geotools::coordinate([44.4578589, 2.2951061999999998]); 
    foreach ($cercanos as $p) {
        $coordB   = Geotools::coordinate([$p->municipio->latitud,$p->municipio->longitud]);
        $distance = Geotools::distance()->setFrom($coordA)->setTo($coordB);
        echo $p->id;
        echo "<p>";
        echo $distance->in('km')->haversine();
        echo "</p>";
    }       
}

This code returns the distance between points in the foreach but I need to sort the foreach with the distance and I don't know how could I make this.

Anyone could help me?

  • 写回答

2条回答 默认 最新

  • duanchi4544 2015-05-21 14:05
    关注

    In the foreach loop, put it all in an array, and than go over the array. You can use the distance as the key, and the HTML output as a value. You can use ksort function on the array to sort it by key.

    public function prodcercanos()
        {
            $cercanos = User::with('municipio')->with('productos')->get();
            $coordA   = Geotools::coordinate([44.4578589, 2.2951061999999998]); 
            $output = [];
            foreach ($cercanos as $p) {
                $coordB   = Geotools::coordinate([$p->municipio->latitud,$p->municipio->longitud]);
                $distance = Geotools::distance()->setFrom($coordA)->setTo($coordB);
                $dis = $distance->in('km')->haversine();
                $output[$dis] = $p->id . "<p>$dis</p>";
            }       
            ksort($output);
            foreach ($output as $line) {
                echo $line;
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 有偿求码,CNN+LSTM实现单通道脑电信号EEG的睡眠分期评估
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路