php-为什么对数组强制转换false不会导致空数组

php-为什么对数组强制转换false不会导致空数组,php,Php,我有一个方法返回类型可以是一个数组,也可以是false 因此,我将结果强制转换为一个数组,以确保我的代码不需要检查false或array 但是,php正在将false强制转换为包含1个元素的数组:false: array(1) { [0]=> bool(false) } 为什么 有没有一种方法可以在不使用if语句的情况下实现这一点 i、 e 按设计工作: 对于以下任何类型:integer、float、string、boolean和resource,将值转换为数组将生成一个数组,其

我有一个方法返回类型可以是一个数组,也可以是false

因此,我将结果强制转换为一个数组,以确保我的代码不需要检查false或array

但是,php正在将false强制转换为包含1个元素的数组:false:

array(1) {
  [0]=>
  bool(false)
}
为什么

有没有一种方法可以在不使用if语句的情况下实现这一点

i、 e

按设计工作:

对于以下任何类型:
integer
float
string
boolean
resource
,将值转换为数组将生成一个数组,其中包含索引为零的单个元素和转换后的标量值。换句话说,
(数组)$scalarValue
数组($scalarValue)
完全相同

你就不能简单地用一个字母吗


“if语句。What if语句?您是如何进行角色转换的?角色转换就像(数组)$returnValue@h2ooooooo-更新了问题+1,它应该始终是这样的,只要您希望返回类型为数组。
if ($returnValue === false) {
    return array();
} else {
    return $returnValue;
}
return (is_array($returnValue) ? $returnValue : array());