dongtang3155 2017-04-06 15:51
浏览 32
已采纳

使用php缩短if else语句

i have a question about shorten if else statement. I am trying to make a weather application using OpenWeatherMap api. But i don't like those icons. I want to change the icons like this:

if($desc == 'clear sky'){
  $weather_icon = 'clear_sky.png';
}else
if($desc == 'few clouds'){
  $weather_icon = 'few_clouds.png';
}else
if($desc == 'scattered clouds'){
  $weather_icon = 'scattered_clouds.png';
}else
if($desc == 'broken clouds'){
  $weather_icon = 'broken_clouds.png';
}else
if($desc == ''){
  .....
}
......

So my question is how can i do this with shorten if else or do you have any idea to use different thinks?

  • 写回答

5条回答 默认 最新

  • dongzhuji1042 2017-04-06 16:08
    关注

    Arrays are the glue that holds the universe together (if the universe is written in PHP).

    $map = [
       'clear sky' => "clear_sky.png",
       'few clouds' =>"few_clouds.png", 
       'scattered clouds' => 'scattered_clouds.png'
       'broken clouds' => 'broken_clouds.png'
    ];
    
    if (isset($map[$desc])) {
       $weather_icon = $map[$desc];
    } 
    

    This allows you to also map unrelated words with image names as well as multiple words to the same image.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大