Я новичок в 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 обновляется хорошо 🙁
Спасибо !
Ваш код должен быть следующим
$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, вы должны использовать ==, а не =
каждый из ваших операторов if должен иметь двойной знак равенства (==) для сравнения.
Текст вашего класса уже имеет значение wi с пробелом, а затем к нему добавляется wi-day-thisval, что делает его wi-day-thisval.
также вам нужно эхо, чтобы оно отображалось.
мое личное мнение также заключается в том, что
<div><i class="<?php echo $url_icon ?>"></i></div>
<div><?php echo $icon_weather ?></div>