繁体   English   中英

json_encode范围从数组

[英]json_encode range from array

再次遇到一个障碍..我需要从我的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);

在此先感谢您的帮助!

使用条件表达式:

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

也许

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

??

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

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

echo json_encode($array);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM