我经常要处理可以是数组或空变量的数据,并将这些数据输入一些foreach
。
$values = get_values();
foreach ($values as $value){
...
}
当你用不是数组的数据输入foreach时,你会得到一个警告。
警告。在[...]中为foreach()提供了无效的参数。
假设不可能将get_values()
函数重构为总是返回一个数组(向后兼容,没有可用的源代码,或者其他什么原因),我想知道哪种方法最干净、最有效地避免这些警告。
$values
铸成数组$values
初始化为数组就我个人而言,我发现这是最干净的--不确定它是否是最有效的,但我认为是最有效的。
if (is_array($values) || is_object($values))
{
foreach ($values as $value)
{
...
}
}
我更喜欢的原因是,当你什么都没有的时候,它不会分配一个空数组。