有关于php if () 和!及正则函数preg_match判断问题

2024-12-23 00:04:23
推荐回答(3个)
回答1:

if(!$m || !preg_match("/^[a-z]+$/", $m))
! 是不为真 即0, false或null 等值
|| 是OR的意思即或者
!preg_match 即不匹配
上面的代码是判断$m 这个值是0, 空值或false时, 或者 不匹配英文字母就执行下面的代码

回答2:

preg_match("/^[a-z]+$/", $m)中/^[a-z]+$/是正则表达式,这个表达式的意思是所有匹配的英文字符串。
if(!$m || !preg_match("/^[a-z]+$/", $m))意思是非空且不是英文字符串

回答3:

如果$m的布尔值为false或者$m不为小写字母时,执行 $m = $_G['cfg']['index_module']; 否则 $m = 'index';
其实前一个判断是完全没必要的,这种判断在preg段完全可以实现!