json_encode范围从数组

时间:2013-11-14 18:43:28

标签: javascript json

再一次撞到路障.. 我需要从我的json文件中编码一系列值,并且该范围之外的所有内容都将为null。有关如何实现这一目标的任何建议吗?

例如:如果json值> 100,则将值返回到新数组中,如果json值<100,则将null返回到同一个新数组中。

这是我的代码:

$url = 'http://magicseaweed.com/api/API_KEY/forecast/?spot_id=3952';
$JSON = file_get_contents($url);

$data = json_decode($JSON,true);

foreach ($data as $record) {
    $array[] = array($record['localTimestamp']*1000, $record['wind']['direction']);
}

echo json_encode($array);

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

使用条件表达式:

foreach ($data as $record) {
    $val = $record['wind']['direction'];
    $array[] = array($record['localTimestamp']*1000, $val > 100 ? $val : null);
}

答案 1 :(得分:0)

也许

if ($record['wind']['direction'] > 100)

...

答案 2 :(得分:0)

您应该只需在foreach循环中添加额外的代码行,如:

foreach ($data as $record) {
    $value = array($record['localTimestamp']*1000, $record['wind']['direction']);
    if($value > 100){
        $value = NULL;
    }
    $array[] = $value;
}

echo json_encode($array);