假设我有一个变量,它是一个初始化的空数组。
$cache = [];
例如,可以像这样创建这个数组中的数据(请原谅粗略的代码和变量/键名,它们只是为了这个例子而在这里):
for ($row in $someOtherArray) {
$cache[$row['id']][] = $row['data'];
}
由于$cache
是一个PHP数组,我不需要初始化$cache[$row['id']]
也是一个数组。但是,我有时遇到这样的代码:
for ($row in $someOtherArray) {
if (!isset($cache[$row['id']])) {
$cache[$row['id']] = [];
}
$cache[$row['id']][] = $row['data'];
}
上面,子数组显式初始化为空数组。它有用吗?例如 - 它是否以某种方式帮助翻译?或者只是开发人员过于热心?
答案 0 :(得分:4)
就PHP而言,这是不必要的。 PHP将使用$foo[$bar][]
语法为您隐式创建任意数量的子数组。业务逻辑可能可能,但不是在这种特定的安排中;这里简直就是多余的。如果值赋值在某种程度上是单独的逻辑,但您仍然希望确保键存在至少一个空数组,那么这是唯一有意义的时间。
答案 1 :(得分:0)
将变量初始化为数组后,可以对该变量使用特定于数组的方法。例如array_push(),array_map()等..