(array)$someemptyvariablethatisnotarray
返回array([0] =>)
而不是array()
如何做到这一点,以便在foreach()中使用它时得到未迭代的空数组?
最佳答案
您正在使用的功能称为“casting”。这意味着变量被强制变为给定类型,在您的示例中为数组。在php中,如何转换var并不总是很明显!
在您的示例中,$ someemptyvariablethatisnotarray变成一个数组,其中一个条目的值为NULL。
PHP documentation说:
为了解决您的代码,我建议使用类似以下内容的代码:
if (!is_array($someemptyvariablethatisnotarray) {
$someemptyvariablethatisnotarray = array();
}