【发布时间】:2016-05-28 21:45:24
【问题描述】:
这是函数中的独立表达式:
$var OR $var = $var
这个表达式到底是做什么的?
以前从未见过,也找不到答案,因为我不知道它是怎么称呼的。
代码本身来自:Сodeigniter Template on Github
public function build($view, $data = array(), $return = FALSE)
{
// Set whatever values are given. These will be available to all view files
is_array($data) OR $data = (array) $data;
// Merge in what we already have with the specific data
$this->_data = array_merge($this->_data, $data);
...
【问题讨论】:
-
我会说它没有任何相关性......我们可以看到这个功能吗?
-
$var应该在代码中出现 3 次吗? -
Assignment (
=) 比OR具有更高的优先级,所以它给自己设置一个变量值,然后再用它自己 ors ,然后什么都不做......它基本上是就这样浪费处理周期 -
is_array($data) OR $data = (array) $data;与$var OR $var = $var不同。你为什么不从一开始就发布呢? -
相当于
if (!is_array($data)) { $data = (array) $data; }