减少轮数并检查结果

时间:2017-01-02 21:10:33

标签: php

这是一个基本的PHP问题,我可能会在明天早上很快就解决它,但今天它已经过了一天,所以...

我有一个使用Google Maps API返回邻域名称的函数。我注意到邻居名称正在根据lon lat中的一小部分小数改变。当它不能返回邻居名称时,它返回城市名称。

我要做的是从12个十进制数开始,并将返回的结果与城市名称进行比较,如果相同,则继续递减,直到返回的结果不同为止。

以下是我所拥有的:

$rnd = 12;

function get_hood($lat, $lon, $rnd) {

    $get_API = "http://maps.googleapis.com/maps/api/geocode/json?latlng=";
    $get_API .= round($lat,$rnd).",";
    $get_API .= round($lon,$rnd);

    $jsonfile = file_get_contents($get_API.'&sensor=false');
    $jsonarray = json_decode($jsonfile);

    if (isset($jsonarray->results[1]->address_components[1]->long_name)) {
        return($jsonarray->results[1]->address_components[1]->long_name);
    }
}

for($i=1; $i<=$rnd; $i--) {
    if ($b->busCity == get_hood($b->lat, $b->lon, $rnd)) {
        echo get_hood($b->lat, $b->lon, $rnd);
        break;
    } else {
        echo get_hood($b->lat, $b->lon, $rnd);
    }
}

我觉得我是在圈子里,需要重新审视一下。

感谢。

1 个答案:

答案 0 :(得分:0)

我发现您的[]循环存在一些问题。首先,您需要使用for开始循环,然后停在$rnd0。其次,您似乎不使用循环变量,但每次都使用相同的1变量。最后,您使用$rnd变量,但它没有在任何地方定义(尽管我认为它可能在您包含的简短代码段之外定义)。

如果我理解你想要获得什么,那么这段代码应该可以帮助你(注意我必须定义$b来测试代码)

$b