这个PHP短代码是什么意思? is_array($ data)OR $ data =(array)$ data

时间:2011-08-02 07:21:47

标签: php

这个PHP代码是什么意思?

is_array($data) OR $data = (array) $data

我在PyroCMS上看到了这段代码

5 个答案:

答案 0 :(得分:3)

OR是一个短路运营商。如果左侧是true,则不会评估右侧。它基本上说“如果$data不是数组,则将其强制转换为数组”。

请注意,这是多余的,可以缩写为:

$data = (array)$data;

这具有相同的效果。如果它已经是一个数组,则转换为数组将不执行任何操作,否则它将转换为数组。

答案 1 :(得分:1)

它测试$ data是否为数组,如果不是则将其强制转换为1。

答案 2 :(得分:0)

等于:

if (!is_array($data)) $data = (array) $data

答案 3 :(得分:0)

该代码类型将$ data转换为数组,如果它不是数组。

有关类型转换的更多信息 - http://php.net/manual/en/language.types.type-juggling.php

答案 4 :(得分:0)

这是一种(在我看来很可怕)破解性的写作方式:

if(!is_array($data)) {
    $data = (array) $data;
}

这基本上是强制$ data变量为数组。

不要写这样的代码。它很难处理(精神上),也不会节省任何时间。 : - )