Se puoi assumere che il JSON contenga informazioni su ogni ora e non ci siano "buchi", puoi lavorare sugli indici:
Codice:
for (j = 0; j < 5 * 24 && j < cd; j += 3) {
offset = i + j;
Se, invece, ci possono essere informazioni mancanti devi "guardare in avanti" cercando data e ora di cui hai bisogno:
Codice:
function search_date ($array, $timestamp, $start_from = 0) {
$size = count($array);
$i = $start_from;
while ($i < $size) {
if ($array[$i]->FCTTIME->epoch == $timestamp) {
return ...;
}
++i;
}
...
for (i = 0; i <= cd; $i++) {
data_unix = wu_dec->hourly_forecast[i]->FCTTIME->epoch;
fra_un_ora = search_date(wu_dec->hourly_forecast, data_unix + 60 * 60, i);
fra_un_giorno = search_date(wu_dec->hourly_forecast, data_unix + 24 * 60 * 60, i);
}
O qualcosa di simile.