请释疑:PHP这种怪异语法 先执行!empty($_POST),如果为假,就会短路,不会执行后面的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么会短路?我记得以前看到过某本书上说“我们是无法确定逻辑与两边表达式的执行顺序的”,也即根据不同CPU,可能会有不同的顺序,那用这种所谓短路的表达式岂不是很危险? 这个代码等价于if(!empty($_POST)){ Add_S($_POST);} !empty($_POST) && Add_S($_POST);这句代码要是!empty($_POST)不为真的话,永远也执行不到Add_S($_POST)上去的。只有第一个条件符合了,才会继续向下判断的,称之为短路。 感觉这是一个很危险的语法。不过由PHP编译应该不会有后遗症。如果某个程序具有智能化的编译处理(比如根据表达式的复杂程度或执行效率来决定哪个表达式先判断),那就麻烦了。 你说的那是编译类型的语言,php是一种解释类型的语言,执行顺序是php引擎说了算的。 if(!get_magic_quotes_gpc()){ Add_S($_POST); Add_S($_GET); Add_S($_COOKIE);} php伪静态问题 php数据库链接类(在线等) 本地装Discuz没问题,服务器装Discuz老是报: Access denied 请帮忙修改图片下拉列表的代码! ~!!!php为什么称作解释性语言吗,又是脚本又是怎么回事 用php如果将远程文件复制到本地来? 菜鸟问题!请教一下会员发布图片的问题 新手求救:请大家给一个PHP上传图片并保存到数据库(mysql)中的例子。 在网页里播放mp3,如何将变量(MP3地址)传给播放器啊 静态url,用正则获取URL参数进行路由好还是htacess重写好? 请教表单文本框编码问题 PHP开发环境的配置!!
为什么会短路?我记得以前看到过某本书上说“我们是无法确定逻辑与两边表达式的执行顺序的”,也即根据不同CPU,可能会有不同的顺序,那用这种所谓短路的表达式岂不是很危险?
if(!empty($_POST))
{
Add_S($_POST);
}
这句代码要是!empty($_POST)不为真的话,永远也执行不到Add_S($_POST)上去的。只有第一个条件符合了,才会继续向下判断的,称之为短路。
如果某个程序具有智能化的编译处理(比如根据表达式的复杂程度或执行效率来决定哪个表达式先判断),那就麻烦了。
你说的那是编译类型的语言,php是一种解释类型的语言,执行顺序是php引擎说了算的。
{
Add_S($_POST);
Add_S($_GET);
Add_S($_COOKIE);
}