0

我目前正在开发一个 php 项目,我正在尝试使用 foreach 遍历一个数组。但是,有时数组可能只包含 1 个项目,因此当我尝试执行 foreach 时,它会失败,因为 1 个项目只是被视为普通变量。

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

谢谢你的帮助。

4

3 回答 3

5

foreach将适用于大小为 0,1 或更大的数组。我怀疑您的问题是,该变量实际上并不包含数组,而是一些标量值-在这种情况下,请使用类似

if (!is_array($var)) $var=array($var);
foreach ($var as $item) {
  //...
}
于 2012-06-10T22:49:18.257 回答
0
if(is_array($arr))
    $arr2=$arr
else
    $arr2=array($arr)

然后你迭代$arr2

于 2012-06-10T22:49:23.863 回答
-2

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

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

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

于 2012-06-10T22:49:00.970 回答