我目前正在开发一个php项目,我试图使用foreach遍历数组。但是,有时数组可能只包含1个项目,因此当我尝试执行foreach时它会失败,因为1项只是被视为正常变量。
有没有办法我可以欺骗php认为1项数组实际上是一个数组而不只是一个变量,所以我没有得到这个错误。
感谢您的帮助。
答案 0 :(得分:5)
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它以确保它确实是一个数组。