PHP Switch语句错误

时间:2017-07-28 02:07:49

标签: php switch-statement

我创建了一个网站,我添加了一个下午的东西,当我去pm.php它给了我一个错误:

  

致命错误:Switch语句在第673行的/home/vol10_3/HIDDEN.com/HIDDEN/htdocs/includes/classes/pm.class.php中只能包含一个默认子句

代码:

    function get_new_messages($uid=NULL,$type='pm')
    {
        if(!$uid)
            $uid = userid();
        global $db;
        switch($type)
        {
            case 'pm':
            default:
            {
                $count = $db->count(tbl($this->tbl),"message_id"," message_to LIKE '%#$uid#%' AND message_box='in' AND message_type='pm' AND    message_status='unread'");

            }
            break;

            case 'notification':
            default:
            {
                $count = $db->count(tbl($this->tbl),"message_id"," message_to LIKE '%#$uid#%' AND message_box='in' AND message_type='notification' AND message_status='unread'");
            }
            break;
        }

        if($count>0)
            return $count;
        else
            return "0";
    }
}

1 个答案:

答案 0 :(得分:0)

您实际上并未使用括号或默认值。

<?php

switch ($type) {
    case 'pm':
        // Do something when $type is 'pm'
        // This can be multiple statements
        break;

    case 'notification':
        // Do something when $type is 'notification'
        // This can be multiple statements
        break;

    default:
       // Do something else
       break;
}

如果没有执行其他任何情况,您只需为默认值添加一次。 “case:'pm':”部分正在启动一个块,直到break语句退出它。如果没有break语句,它将进入下一个块(在这种情况下为通知)。

这是PHP's website的链接,其中包含更多示例以及有关这些语句如何工作的详细信息。