0

もう一度障害物にぶつかりました.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);

よろしくお願いします。

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 に答える