0

再次遇到障碍。我需要从我的 json 文件中编码一系列值,并且该范围之外的所有内容都将为空。关于我如何做到这一点的任何建议?

例如:如果 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);

在此先感谢您的帮助!

4

3 回答 3

2

使用条件表达式:

foreach ($data as $record) {
    $val = $record['wind']['direction'];
    $array[] = array($record['localTimestamp']*1000, $val > 100 ? $val : null);
}
于 2013-11-14T18:51:08.723 回答
0

也许

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

??

于 2013-11-14T18:50:40.010 回答
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);
于 2013-11-14T18:51:32.073 回答