JSON PHP foreach空值

时间:2016-09-27 01:00:44

标签: php json foreach

我正在使用PHP和JSON。我有一个JSON foreach循环的例子,这个例子我想让lat / lon在谷歌地图中添加一个标记:

"data": [
       {
          "end_time": "2016-02-09T22:30:00-0200",
          "name": "6\u00ba Rebanh\u00e3o de Carnaval - Comunidade Cen\u00e1culo",
          "place": {
             "name": "Comunidade Cen\u00e1culo",
             "location": {
                "city": "Franca",
                "country": "Brazil",
                "latitude": "",
                "longitude": "",
                "state": "SP",
                "street": "Dom Pedro I, 1040, Jardim Petr\u00e1glia"
             },
             "id": "410657548946610"
          },
          "start_time": "2016-02-05T19:30:00-0200",
          "id": "940527599373114"
       }
    ]

我的问题是,纬度和经度的某些结果是空的。我想给它一个特定的值,但是在每个空的时候我想添加lat + 0.02。

例如,在第一个空值中我想把这个纬度40.700106,而下一个空值我想把这个40.700106 + 0.02。

我只是不想在同一位置使用2个标记。

我该怎么做?

修改

foreach($json3 ->data as $mydata1)
{
$latitude = $mydata1->place->location->latitude;
if(empty($latitude ))
    {

        $latitude = $latitude + 0.02;
        echo ' lat :'.$latitude ;
    }
}

这样我替换空值,但是他们不在每个值上添加+ 0.02

1 个答案:

答案 0 :(得分:1)

您可以保存以前的纬度并使用它。

这样的事情:

$previousLatitude = null;
foreach($json3 ->data as $mydata1) {
    $latitude = $mydata1->place->location->latitude;
    if(empty($latitude ))
    {
        $latitude = $previousLatitude + 0.02;
        echo ' lat :'.$latitude ;
    }

    $previousLatitude = $latitude
}