我最近在研究在网上找到的一些代码,发现了这个 php 语法:
<?php $framecharset && $frame['charset'] = $framecharset; ?>
有人可以解释一下这行代码发生了什么吗?
在语句的该位置,哪些变量被赋予了哪些值,&& 运算符的目的是什么?
谢谢!
拍
啊,我刚刚用 javascript 写了一篇关于这个习惯用法的博客文章:
http://www.mcphersonindustries.com/ http://www.mcphersonindustries.com/
基本上是通过测试来看到的$framecharset
存在,然后尝试将其分配给$frame['charset']
如果它非空。
它的工作方式是口译员很懒。的两侧&&
声明必须真实才能继续。当它遇到一个false
值后跟&&
,它停止了。它不会继续评估(因此在这种情况下,如果$framecharset
is false
or null
).
有些人甚至会将布尔表达式中更“昂贵”的一半放在&&
,所以如果第一个条件不是true
,那么昂贵的位将永远不会被处理。这实际上可以节省多少还有争议,但它使用了相同的原理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)