openweathermap — переменная php не обновляется

Я новичок в php, и у меня есть проблема. С помощью упражнения из моей школы я должен создать небольшой веб-сайт о погоде, используя 2 API (и более). Я использую OpenWeatherMap, он работает, но когда я пытаюсь поставить значок в соответствии с тем, что OpenWeatherAPI дает мне, мои переменные $ url_icon а также $ icon_weather не обновляются

<div><i class="wi <?= $url_icon?>"></i></div>
<div><?= $icon_weather ?></div>

И мой PHP

$icon_weather = $data_weather->weather[0]->icon;
$url_icon = "wi-day-sunny";

if($icon_weather = '01d' || '01n'){
$url_icon = "wi-day-sunny";
} else if($icon_weather = '02d' || '02n'){
$url_icon = "wi-day-cloudy";
} else if($icon_weather = '03d' || '04n'){
$url_icon = "wi-cloud";
} else if($icon_weather = '04d' || '04n'){
$url_icon = "wi-cloudy";
} else if($icon_weather = '09d' || '09n'){
$url_icon = "wi-rain";
} else if($icon_weather = '10d' || '10n'){
$url_icon = "wi-day-rain";
} else if($icon_weather = '11d' || '11n'){
$url_icon = "wi-storm-showers";
} else if($icon_weather = '13d' || '13n'){
$url_icon = "wi-snow-wind";
};

Самое странное, что без моего цикла if (так и без $ url_icon) icon_weather обновляется хорошо 🙁

Спасибо !

-1

Решение

Ваш код должен быть следующим

 $icon_weather = $data_weather->weather[0]->icon;
$url_icon = "wi-day-sunny";

if($icon_weather == '01d' || $icon_weather == '01n'){
$url_icon = "wi-day-sunny";
} else if($icon_weather == '02d' || $icon_weather=='02n'){
$url_icon = "wi-day-cloudy";
} else if($icon_weather == '03d' || $icon_weather=='04n'){
$url_icon = "wi-cloud";
} else if($icon_weather == '04d' || $icon_weather=='04n'){
$url_icon = "wi-cloudy";
} else if($icon_weather == '09d' ||$icon_weather== '09n'){
$url_icon = "wi-rain";
} else if($icon_weather == '10d' || $icon_weather=='10n'){
$url_icon = "wi-day-rain";
} else if($icon_weather == '11d' || $icon_weather=='11n'){
$url_icon = "wi-storm-showers";
} else if($icon_weather == '13d' || $icon_weather=='13n'){
$url_icon = "wi-snow-wind";
};

Чтобы сравнить переменные, используя if, вы должны использовать ==, а не =

0

Другие решения

каждый из ваших операторов if должен иметь двойной знак равенства (==) для сравнения.

Текст вашего класса уже имеет значение wi с пробелом, а затем к нему добавляется wi-day-thisval, что делает его wi-day-thisval.

также вам нужно эхо, чтобы оно отображалось.

мое личное мнение также заключается в том, что

<div><i class="<?php echo $url_icon ?>"></i></div>
<div><?php echo $icon_weather ?></div>
0

По вопросам рекламы [email protected]