!defined('MVMMALL_SCR') 请问这句意思 !defined('MVMMALL_SCR') && define('MVMMALL_SCR','');一个程序里面的这句看不懂,请懂的大哥帮忙解释下,刚学PHP!谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 常量 MVMMALL_SCR 没有定义或者是空 错了 应该是常量 MVMMALL_SCR 没有定义和空值 !defined('MVMMALL_SCR') //这句和判断语句结合在一起表示如果没有定义 MVMMALL_SCR 常量,则条件成立!defined('MVMMALL_SCR') && define('MVMMALL_SCR','') //如果没有定义 MVMMALL_SCR 常量,则条件成立;并在判断该条件的同时定义MVMMALL_SCR常量为空字符串 你的代码是!defined('MVMMALL_SCR') && define('MVMMALL_SCR',''); 还是!defined('MVMMALL_SCR') && defined('MVMMALL_SCR','');??虽然差一个,但是 define和defined是不同的。 defined 是判断常量是否定义,返回bool值;而 define 这个函数只是用来定义一个常量,也是返回bool值 !defined('MVMMALL_SCR') && define('MVMMALL_SCR',''); 如果是这样也没什么意义啊!defined('MVMMALL_SCR') && defined('MVMMALL_SCR','')又不是判断... 它这种写法是可以接受的。$re=define('aa',''); //定义一个名为aa的常量,定义成功则返回truevar_dump($re); !defined('MVMMALL_SCR') && define('MVMMALL_SCR','');这样理解判断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','张三')并不成立。 如果MVMMALL_SCR没有定义则 定义为空字符串 楼主的那句没错 !defined('MVMMALL_SCR') && define('MVMMALL_SCR','');这句话主要是判断前面的没有定义通过 采用&& 这个逻辑运算符 执行的本质&& 是第一个为true 就执行第二个如果第一个为false 就不执行后面所以 当MVMMALL_SCR 已经定义过 就不会执行后面的define没有定义过就执行后面的define 文件下载功能怎么实现??? 如何用代码屏蔽用户使用代理IP访问网站 分页问题(我想代表新同学说几句,我们真的很想学会PHP) 如何求两个字段的和? PHP学习交流群,200人高级群:85758199 已有170人 一个很好的相册切换效果(自我感觉好,希望大家别见笑) 高分测试网站速度!测者有分! 请教高手,这样代码怎么写?? 或用其它方法?? 这可能不是一个简单的问题 关于php 文件上传错误的问题!!!! [100分 在线急等] 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