Как изменить $i в for?

Имеется не замысловатый код:
<?php

 function get_weather_night ($city, $col = 1, $day_of_the_week_array = array(1 => 'пн', 2 => 'вт', 3 => 'ср', 4 => 'чт', 5 => 'пт', 6 => 'сб', 7 => 'вс'), $time_of_night = array(0 => 'утро', 1 => 'день', 2 => 'вечер', 3 => 'ночью')) {
$data_file = 'http://export.yandex.ru/weather-ng/forecasts/'.$city.'.xml';
$xml = simplexml_load_file($data_file);

$out = array();
$counter = 0 ;

foreach ( $xml->day as $day )  {

    if ($counter == $col) {break;}


   for ($i=3;$i<=3;$i++) {


   if($day->day_part[$i]->temperature == '') {
	   
   $get_temp_from =  $day->day_part[$i]->temperature_from;
   $get_temp_to =  $day->day_part[$i]->temperature_to;

    }  else {

    $get_temp_from = (integer)$get_temp-1 ;
    $get_temp_to = (integer)$get_temp+1 ;

    }

    if($get_temp_from>0 ) {$get_temp_from = '+'.$get_temp_from ; }
    if($get_temp_to>0 ) {$get_temp_to = '+'.$get_temp_to ; }
    $out[$counter]['weather'][$i]['temp_from'] = $get_temp_from;
    $out[$counter]['weather'][$i]['temp_to'] = $get_temp_to;
    $out[$counter]['weather'][$i]['image'] = $day->day_part[$i]->{'image-v3'};
    $out[$counter]['weather'][$i]['time_of_night'] = $time_of_night[$i] ;


} $counter++ ;
}
return $out ;
}?>

в нём строка:
for ($i=3;$i<=3;$i++)
в которую сейчас ручками из
$time_of_night = array(0 => 'утро', 1 => 'день', 2 => 'вечер', 3 => 'ночью'))

ставится руками значение, так вот, подскажите пожалуйста, как мне сделать следующее, что бы:
если время с 06 до 11 в значение for в $i из $time_of_night ставился 0,
если время с 11 до 17 в значение for в $i из $time_of_night ставился 1,
если время с 17 до 23 в значение for в $i из $time_of_night ставился 2,
если время с 23 до 06 в значение for в $i из $time_of_night ставился 3???
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
Если хотите получить текущий час
$current_hour = (int)date("H");
вернется значение от 0 до 23, в текущем часовом поясе(php timezone),
по нему и выбирайте
Ответ написан
if($time > 6 && $time < 11) {$i = 0;}
if($time > 11 && $time < 17) {$i = 1;}

И т.д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы