使 1 项数组被视为数组


Make a 1 item array be seen as an array

我目前正在做一个php项目,我正在尝试使用foreach循环访问数组。但是,有时数组可能只包含 1 个项目,因此当我尝试执行 foreach 时,它会失败,因为 1 个项目仅被视为正常变量。

有没有办法让我欺骗 php 认为 1 项数组实际上是一个数组而不仅仅是一个变量,这样我就不会收到此错误。

感谢您的帮助。

foreach可以很好地处理大小为 0,1 或更大的数组。我怀疑你的问题是,变量实际上并不包含一个数组,而是一些标量值 - 在这种情况下使用类似的东西

if (!is_array($var)) $var=array($var);
foreach ($var as $item) {
  //...
}
if(is_array($arr))
    $arr2=$arr
else
    $arr2=array($arr)

然后你迭代$arr2

我建议只使用标准的 for 循环。 无论数组的长度是多少,它都应该有效

for($i = 0, $l = count($myArray); $i < $l; $i+=1){
  //code in here
}

但是您的阵列可能会出现问题。 发布结构会很有帮助,或者您应该var_dump它以确保它确实是一个数组。