带有PREG_MATCH的PHP SWITCH语句 [英] PHP switch statement with preg_match

查看:24
本文介绍了带有PREG_MATCH的PHP SWITCH语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在switch语句中创建preg_Match()时遇到一些问题。

我要写入preg_match/oop/page/view/[Some-number]。

目前它的工作方式如下:

如果我在浏览器http://example.com/oop/page/view/1中运行,它会显示‘404页’。 当我运行某个地址时,例如http://example.com/oop/page/view/test或甚至/oop/测试它的运行第二种情况,但还不知道如何运行。我的正则表达式肯定有问题..

public function check(){
    $url = filter_input(INPUT_GET, 'url');
    switch ($url) {
        case '':
            echo 'HomePage';
            break;
        case preg_match('#^/oop/page/view/d+$#', $url):
            echo $url;
            break;
        default:
            echo '404 page';
            break;
    }

}

推荐答案

您应该这样做:

switch (true) {
  case preg_match(...):

我不记得PHP中的switch是严格的还是宽松的比较,但如果是严格的,只需在每个案例前面加一个!!就可以将其转换为布尔值。

这篇关于带有PREG_MATCH的PHP SWITCH语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆