duanlisha2335 2013-05-01 05:07
浏览 39
已采纳

PHP:如果/ elseif / else语句不正确更好的方法? [关闭]

How do make this if statement work for 0, 1 and 2 cats?

When $cats = 0 or 1 it echos "It is fine you only have 2 cats"

Any code suggestions?

 <?php
        //If you have more then 2 cats it is illegal
        //if you have 20 or more cats "you are a freak!"
        //If you have 2 cats "It is fine you only have 2 cats".
        //If you have 1 cats "It is fine you only have 1 cat".
        //If you have 0 cats "You don't have any cats no problem".
        $cats = 25;
        if ($cats > 2 && $cats < 20){
            echo "You have too many cats, it is illegal!";
        } elseif ($cats >= 20) {
            echo "you are a freak!";
        } elseif ($cats = 2) {
            echo "It is fine you only have 2 cats";
        } elseif ($cats = 1) {
            echo "It is fine you only have 1 cat";
        } elseif ($cats = 0){
            echo "You don't have any cats no problem";
        }
    ?>
  • 写回答

8条回答 默认 最新

  • douyi6960 2013-05-01 05:09
    关注

    Use == for comparison, = is for assignment.

    Additionally, consider rearranging your code to this:

    switch($cats) {
    case 0:
        echo "You don't have any cats";
        break;
    case 1:
        echo "You have 1 cat";
        break;
    case 2:
        echo "You have 2 cats";
        break;
    default:
        if( $cats < 20) echo "You have too many cats";
        else echo "You are a freak!";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)