问题描述
我个人认为这是最干净的 - 不确定它是否是最有效的,请注意!
if (is_array($values) || is_object($values))
{
foreach ($values as $value)
{
...
}
}
我偏爱的原因是当你没有任何东西可以开始时它不会分配一个空数组。
解决方法
我经常会处理可以是数组或空变量的数据,并foreach
用这些数据提供一些数据。
$values = get_values();
foreach ($values as $value){
...
}
当您向 foreach 提供不是数组的数据时,您会收到警告:
警告:在 […] 中为 foreach() 提供的参数无效
假设不可能重构get_values()
函数以始终返回一个数组(向后兼容性,不可用的源代码,无论其他原因),我想知道哪种是避免这些警告的最干净和最有效的方法:
- 投射
$values
到数组 - 初始化
$values
为数组 foreach
用一个包裹if
- 其他(请建议)