数组变量是否应始终声明为数组?

时间:2016-12-11 07:37:27

标签: php

当在类的顶部声明变量时,如果我这样做是否重要:

private $garbage_values;

而不是:

private $garbage_values = [];

当然,类中有foreach个循环引用数组,数组可能为空。这有关系吗?

1 个答案:

答案 0 :(得分:2)

基本上,如果您希望任何类型的变量在foreach中工作,那么它应该属于iterable伪类型。

因此,如果您使用的变量不属于iterable伪类型,则在foreach中会出现错误。

在你的情况下,即private $foo;如果你这样离开它,它基本上包含值null,它不属于iterable,所以它会失败。

然而,如果你使用private $foo = [];它包含一个空数组,它确实属于iterable伪类型,可以在foreach中完美无缺地使用。