我正在尝试在PHP中进行切换,但无法正常工作。也许我没有了解switch语句的含义,或者我完全错误地使用了它。
switch ( $currentWeather->weather[0]->description ) {
case 'clear sky':
echo file_get_contents("./assets/icons/sunshine.svg");
break;
case 'few clouds':
echo file_get_contents("./assets/icons/sun-cloud.svg");
break;
case 'scattered clouds':
echo file_get_contents("./assets/icons/cloud.svg");
break;
case 'broken clouds':
echo file_get_contents("./assets/icons/cloud.svg");
break;
case 'shower rain':
echo file_get_contents("./assets/icons/rain-cloud.svg");
break;
case 'rain':
echo file_get_contents("./assets/icons/rain-cloud.svg");
break;
case 'thunderstorm':
echo file_get_contents("./assets/icons/thunder-cloud.svg");
break;
case 'snow':
echo file_get_contents("./assets/icons/snow-cloud.svg");
break;
case 'mist':
echo file_get_contents("./assets/icons/mist-cloud.svg");
break;
default:
echo file_get_contents("./assets/icons/sunshine.svg");
break;
}
仅显示默认值。我从$ currentWeather获取一个JSON文件,然后该描述可以包含任何'case'单词。
我不知道$currentWeather->weather[0]->description
失败时的含义,但是更好的方法(总之,它不会很冗长)是具有一个查找数组:
您是否已验证$currentWeather->weather[0]->description
返回了您期望的结果?尝试先回显该片段。