有关于php if () 和!及正则函数preg_match判断问题
$m=_get('m',null,'_T');if(!$m||!preg_match("/^[a-z]+$/",$m)){$m=$_G['cfg']['index_mod...
$m = _get('m', null, '_T');
if(!$m || !preg_match("/^[a-z]+$/", $m)) {
$m = $_G['cfg']['index_module'];
} else {
$m = 'index';
}
这段代码是怎么解读的?丫是没看明白if(!$m || !preg_match("/^[a-z]+$/", $m)) 这段
求教。。。
明白了,if (表达式) {
符合条件执行的内容
}
这个总是先判断表达式结果是不是真的再执行。 展开
if(!$m || !preg_match("/^[a-z]+$/", $m)) {
$m = $_G['cfg']['index_module'];
} else {
$m = 'index';
}
这段代码是怎么解读的?丫是没看明白if(!$m || !preg_match("/^[a-z]+$/", $m)) 这段
求教。。。
明白了,if (表达式) {
符合条件执行的内容
}
这个总是先判断表达式结果是不是真的再执行。 展开
3个回答
展开全部
if(!$m || !preg_match("/^[a-z]+$/", $m))
! 是不为真 即0, false或null 等值
|| 是OR的意思即或者
!preg_match 即不匹配
上面的代码是判断$m 这个值是0, 空值或false时, 或者 不匹配英文字母就执行下面的代码
! 是不为真 即0, false或null 等值
|| 是OR的意思即或者
!preg_match 即不匹配
上面的代码是判断$m 这个值是0, 空值或false时, 或者 不匹配英文字母就执行下面的代码
追问
if ()的逻辑判断思路是如何的?是不是先判断括号里的表达式结果为真还是表达式结果是什么就执行什么?还是搞不太明白
if () {
}else{
}
的判断方式。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
preg_match("/^[a-z]+$/", $m)中/^[a-z]+$/是正则表达式,这个表达式的意思是所有匹配的英文字符串。
if(!$m || !preg_match("/^[a-z]+$/", $m))意思是非空且不是英文字符串
if(!$m || !preg_match("/^[a-z]+$/", $m))意思是非空且不是英文字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果$m的布尔值为false或者$m不为小写字母时,执行 $m = $_G['cfg']['index_module']; 否则 $m = 'index';
其实前一个判断是完全没必要的,这种判断在preg段完全可以实现!
其实前一个判断是完全没必要的,这种判断在preg段完全可以实现!
参考资料: http://hi.baidu.com/382262106
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |