为什么我不能使用这样的开关?

i-C*_*ICA 2 php oop

我正在学习OOP PHP.我有几年的程序经验,但想把它提升到一个新的水平.

无论如何,在我干净整洁的代码的心态中,尝试了一些我学到的关于OOP的东西,我尝试了一些普通的PHP Switch语句,这是我以前从未尝试过的,在我看来,它是合乎逻辑的.像这样工作,但它不起作用.

            switch(strtoupper($type)) {
            case "DELETE" || "UPDATE":
                $result['info'] = mysql_affected_rows($this->con);
                break;
            case "INSERT":
                $result['info'] = "Insert Successful";
                break;
            case "SELECT":
                $result['info'] = mysql_num_rows($res);
                $result['data'] = mysql_fetch_array($res);
                break;
        }
Run Code Online (Sandbox Code Playgroud)

会发生什么,第一种情况,其中带有"或"的那个是匹配的,无论$ type是否包含"SELECT".如果我有8个结果全部不同的东西,但是有两个结果相同的东西,为什么我不能像这样使用开关,那么我必须复制第一个案例似乎是垃圾.

谢谢.

Cra*_*ack 10

使用:

switch(strtoupper($type)) {
        case "DELETE":
        case "UPDATE":
            $result['info'] = mysql_affected_rows($this->con);
            break;
        case "INSERT":
            $result['info'] = "Insert Successful";
            break;
        case "SELECT":
            $result['info'] = mysql_num_rows($res);
            $result['data'] = mysql_fetch_array($res);
            break;
    }
Run Code Online (Sandbox Code Playgroud)

开关没有"或",您必须单独列出每个案例.