!defined('MVMMALL_SCR') && define('MVMMALL_SCR','');
一个程序里面的这句看不懂,请懂的大哥帮忙解释下,刚学PHP!
谢谢啦!
一个程序里面的这句看不懂,请懂的大哥帮忙解释下,刚学PHP!
谢谢啦!
解决方案 »
- php输出word内容格式丢失如何解决??
- RSS(XML格式)的文件作用是什么,还有是不是自己输出的,还是借助外部软件。
- 在文本搜索指定字符的位置(php)
- 请问以下这段PHP代码调用帖子内容,为什么把内容里的UBB和HTML代码都排除了
- 网站的广告是通过怎样一个过程来实现监控的
- 请问这个提示是怎么回事啊
- PHP拿来当Shell Script状态下在,怎么向远程post或者get数据阿?我用下面方法单独测试可以,加入到shell中就有问题!请指教!
- 我想把公司的网站改放到公司,该怎么办? ——如需要还有很多分送
- 在PHP下如何做关键字的模糊查询啊
- 我写了一段php方法 代码 为什么 执行效率如此低下
- PHP一般要考什么证?啊……
- 请教最佳方法!!!!!
!defined('MVMMALL_SCR') //这句和判断语句结合在一起表示如果没有定义 MVMMALL_SCR 常量,则条件成立
!defined('MVMMALL_SCR') && define('MVMMALL_SCR','') //如果没有定义 MVMMALL_SCR 常量,则条件成立;并在判断该条件的同时定义MVMMALL_SCR常量为空字符串
!defined('MVMMALL_SCR') && defined('MVMMALL_SCR','');??虽然差一个,但是 define和defined是不同的。
而 define 这个函数只是用来定义一个常量,也是返回bool值
!defined('MVMMALL_SCR') && defined('MVMMALL_SCR','')又不是判断...
var_dump($re);
这样理解
判断MVMMALL_SCR是否存在 如果不存在则赋空字符窜
define('va','李四'); //
if(!defined('va') && define('va','张三')){
echo '用户没有定义常量va,不过系统定义了常量va:'.va;
}else{
echo '用户自定义了常量va:'.va;
}
虽然结果是这样说,可是,逻辑上不能这样理解。
define也执行了一次判断,在常规状态下,define永远返回true.
你看看这个例子:
if(!defined('va') && !define('va','张三')){
echo '用户没有定义常量va,不过系统定义了常量va:'.va;
}else{
echo '用户自定义了常量va:'.va;
}我们预先没有定义常量va,PHP执行到 && 连接符后,继续判断define的值,现在可以看到,PHP执行的是else部分,尽管 !defined('va') 成立,但 !define('va','张三')并不成立。
则 定义为空字符串
!defined('MVMMALL_SCR') && define('MVMMALL_SCR','');
这句话主要是判断前面的没有定义
通过 采用&& 这个逻辑运算符 执行的本质
&& 是第一个为true 就执行第二个
如果第一个为false 就不执行后面
所以 当MVMMALL_SCR 已经定义过 就不会执行后面的define
没有定义过就执行后面的define