如何在PHP中进行切换? [重复]

问题描述 投票:0回答:2

我正在尝试在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'单词。

php switch-statement
2个回答
0
投票

我不知道$currentWeather->weather[0]->description失败时的含义,但是更好的方法(总之,它不会很冗长)是具有一个查找数组:


-3
投票

您是否已验证$currentWeather->weather[0]->description返回了您期望的结果?尝试先回显该片段。

© www.soinside.com 2019 - 2024. All rights reserved.