cub*_*ube 5 php variable-assignment
我正在研究我最近在网上找到的一些代码,并且遇到了这个php语法:
<?php $framecharset && $frame['charset'] = $framecharset; ?>
Run Code Online (Sandbox Code Playgroud)
有人可以解释这行代码中发生了什么吗?在该语句的位置分配了哪些变量(&)以及&&运算符的用途是什么?
谢谢!拍
啊,我刚刚用 javascript 写了一篇关于这个习惯用法的博客文章:
http://www.mcphersonindustries.com/
基本上,它正在测试是否$framecharset存在,然后尝试将其分配给$frame['charset']它是否为非空。
它的工作方式是口译员很懒。声明双方都&&必须真实才能继续。当它遇到false后面跟着 的值时&&,它会停止。它不会继续评估(因此在这种情况下,如果$framecharsetisfalse或 ,则不会发生分配null)。
有些人甚至会将布尔表达式中更“昂贵”的一半放在 后面&&,这样如果第一个条件不是true,那么昂贵的位将永远不会被处理。这实际上可以节省多少还有争议,但它使用了相同的原理。
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |