将1项数组视为数组

时间:2012-06-10 22:45:58

标签: php arrays

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

有没有办法我可以欺骗php认为1项数组实际上是一个数组而不只是一个变量,所以我没有得到这个错误。

感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

对于大小为0或更大的数组,

foreach可以正常工作。我怀疑你的问题是,变量实际上并不包含数组,而是一些标量值 - 在这种情况下使用类似

的内容
if (!is_array($var)) $var=array($var);
foreach ($var as $item) {
  //...
}

答案 1 :(得分:0)

if(is_array($arr))
    $arr2=$arr
else
    $arr2=array($arr)

然后迭代$arr2

答案 2 :(得分:-2)

我建议只使用标准for循环。无论数组的长度是什么

,它都应该工作
for($i = 0, $l = count($myArray); $i < $l; $i+=1){
  //code in here
}

但是你可能有一个问题需要开始。发布结构会有所帮助,或者你应该var_dump它以确保它确实是一个数组。