当在类的顶部声明变量时,如果我这样做是否重要:
private $garbage_values;
而不是:
private $garbage_values = [];
当然,类中有foreach
个循环引用数组,数组可能为空。这有关系吗?
答案 0 :(得分:2)
基本上,如果您希望任何类型的变量在foreach
中工作,那么它应该属于iterable
伪类型。
因此,如果您使用的变量不属于iterable
伪类型,则在foreach
中会出现错误。
在你的情况下,即private $foo;
如果你这样离开它,它基本上包含值null
,它不属于iterable
,所以它会失败。
然而,如果你使用private $foo = [];
它包含一个空数组,它确实属于iterable
伪类型,可以在foreach
中完美无缺地使用。