这个PHP代码是什么意思?
is_array($data) OR $data = (array) $data
我在PyroCMS上看到了这段代码
答案 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变量为数组。
不要写这样的代码。它很难处理(精神上),也不会节省任何时间。 : - )