请问大家下面PHP的switch写法,哪种写法好?

           switch ($key) {
                case in_array($key, ['=', '>', '<', '>=', '<=', '<>']):
                    $this->where .= " AND $value $key ?";
                    break;
                case 'like':
                    $this->where .= " AND $value LIKE ?";
                    $item = "%$item%";
                    break;
                case 'like-L':
                    $this->where .= " AND $value LIKE ?";
                    $item = "%$item";
                    break;
                case 'like-R':
                    $this->where .= " AND $value LIKE ?";
                    $item = "$item%";
                    break;
            }

            switch ($key) {
                case in_array($key, ['=', '>', '<', '>=', '<=', '<>']):
                    $this->where .= " AND $value $key ?";
                    break;
                case in_array($key, ['like', 'like-L', 'like-R']):

                    $this->where .= " AND $value LIKE ?";

                    if ($key === 'like') {
                        $item = "%$item%";
                        break;
                    };
                    if ($key === 'like-L') {
                        $item = "%$item";
                        break;
                    }
                    if ($key === 'like-R') {
                        $item = "$item%";
                    }
                    break;
                default:
                    //
            }

有更好的 还请大家分享一下 谢谢

慕码人2483693
浏览 400回答 3
3回答

鸿蒙传说

从代码规范及可读性上考虑,不建议直接在case后面做逻辑处理,逻辑处理代码单独成块比较好。

凤凰求蛊

想着是高大上但是很少有人那么弄,代码看起来特别乱。逻辑处理还是单独处理的好。
打开App,查看更多内容
随时随地看视频慕课网APP