11.降水確率の表示の仕方
①5時発表の降水確率
朝6時から6時間ごとに分割されて、翌日の24時までのデータpopsが7個出力されています。
②11時発表の降水確率
昼12時から6時間ごとに分割されて、翌日の24時までのデータpopsが6個出力されています。
③17時発表の降水確率
18時から6時間ごとに分割されて、翌日の24時までのデータpopsが5個出力されています。
11-1.降水確率表示の処理プログラム
// 降水確率の読み込み
$pops10 = $data2[0]['timeSeries'][1]['areas'][1]['pops'][0];
$pops11 = $data2[0]['timeSeries'][1]['areas'][1]['pops'][1];
$pops12 = $data2[0]['timeSeries'][1]['areas'][1]['pops'][2];
$pops13 = $data2[0]['timeSeries'][1]['areas'][1]['pops'][3];
$pops14 = $data2[0]['timeSeries'][1]['areas'][1]['pops'][4];
// データの確認
$pops15 = '';
if(isset($data2[0]['timeSeries'][1]['areas'][1]['pops'][5])){
$pops15 = $data2[0]['timeSeries'][1]['areas'][1]['pops'][5];
}
$pops16 = '';
if(isset($data2[0]['timeSeries'][1]['areas'][1]['pops'][6])){
$pops16 = $data2[0]['timeSeries'][1]['areas'][1]['pops'][6];
}
// 5時発表の明日の降水確率表示
if($pops16 !== ''){
echo "降水確率</br>00-06時:$pops13%";
echo "06-12時:$pops14%";
echo "12-18時:$pops15%";
echo "18-24時:$pops16%";
}
// 17時発表の明日の降水確率表示
elseif(($pops15 === '') && ($pops16 === '')){
echo "降水確率</br>00-06時:$pops11%";
echo "06-12時:$pops12%";
echo "12-18時:$pops13%";
echo "18-24時:$pops14%";
}
// 11時発表の明日の降水確率表示
elseif($pops16 === ''){
echo "降水確率</br>00-06時:$pops12%";
echo "06-12時:$pops13%";
echo "12-18時:$pops14%";
echo "18-24時:$pops15%";
}
①降水確率の読み込みで、発表時刻によってデータの無いpops[5]とpop[6]のデータの確認を行います。
降水確率データが存在しない場合、$pops15は存在しないとエラーが出るので、対処法として空のデータを$pop15=’’;として入力します。
$pop16も同様です。
②条件式について
ⅰ)5時発表の条件式if($pops16 !== ”)は、7番目のデータpops[6]が空ではない場合となります。
ⅱ)17時発表の条件式elseif(($pops15 === ”) && ($pops16 === ”))は、pops[5]とpops[6]が空の場合です。
===で、厳密比較しています。
ⅲ)11時発表の条件式elseif($pops16 === ”)は、pops[6]が空の場合です。
11時発表と17時発表の順序が入れ替わっていますが、11時発表を先に処理をすると、17時発表の場合も当てはまってしまうからです。
上記のプログラムは、明日の降水確率表示です。