A-A+

php逻辑或 详解

2014年09月22日 16:11 学习笔记 暂无评论 阅读 228 views 次

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

今天修复公司网站一个错误,是二次开发遗留下的。主要代码如下:

1
2
3
$xianzaitime = time();    //这里主要是获得当前的时间
$next_visit_dateline = strtotime($next_visit_dateline);   这里是把收集到用户提交的时间转换为Unix时间戳
if($xianzaitime>=$next_visit_dateline || ceil(($next_visit_dateline - $xianzaitime)/86400)>70){cpmsg('error_next_visit_dateline', '', 'error');}

总共3句话,解释了俩句,差最后一句,这里重点解释一下最后一句IF那段。
首先我们拆开解析,
第一段:$xianzaitime>=$next_visit_dateline 这段的意思很简单,如果当前时间大于用户提交的时间则为真,否则为假。
第二段:ceil(($next_visit_dateline - $xianzaitime)/86400)>70 用户提交的时间 减去 当前时间的结果除以 86400秒(24小时) 取得的结果ceil(函数向上舍入为最接近的整数。) 取整,然后这个“整数”是否大于70,大于为真,不大于为假。


总结上两段代码的结果只能为“真”或者“假”。

现在我们解释php逻辑或,也就是“ || ”这个符号。它称为逻辑或。它的意思是对比左右两个函数, 假设$x为左,$y为右。

如果 $x 和 $y 如果有一个为true(真),则返回结果为 true(真)。看下面的对比会更容易理解。

$x       $y        结果

真       真          真       (两个结果都为真,逻辑或为真)

假       真          真       (两个结果一个为真,逻辑或为真)

真       假          真       (两个结果一个为真,逻辑或为真)

假       假          假       (两个结果都为假,逻辑或为假)

综合上面的 结果对比,理解IF语句,如果为真则执行{}大括号中的内容,如果为假则不执行!

标签:

给我留言