带有PREG_MATCH的PHP SWITCH语句
本文介绍了带有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语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!