在PHP中初始化子数组是必要的还是有用的?
假设我有一个变量,它是一个初始化的空数组在PHP中初始化子数组是必要的还是有用的?,php,arrays,Php,Arrays,假设我有一个变量,它是一个初始化的空数组 $cache = []; 此数组中的数据可以这样创建,例如(请原谅粗制滥造的代码和变量/键名称,它们只是为了这个示例而出现的): 由于$cache是一个PHP数组,我不需要将$cache[$row['id']]]]初始化为数组。但是,我有时会遇到这样的代码: for ($row in $someOtherArray) { if (!isset($cache[$row['id']])) { $cache[$row['id']] =
$cache = [];
此数组中的数据可以这样创建,例如(请原谅粗制滥造的代码和变量/键名称,它们只是为了这个示例而出现的):
由于$cache
是一个PHP数组,我不需要将$cache[$row['id']]]]
初始化为数组。但是,我有时会遇到这样的代码:
for ($row in $someOtherArray) {
if (!isset($cache[$row['id']])) {
$cache[$row['id']] = [];
}
$cache[$row['id']][] = $row['data'];
}
上面,子数组被显式初始化为空数组。它有用吗?例如,它在某种程度上对口译员有帮助吗?还是仅仅是开发人员过于热心?一旦将变量初始化为数组,就可以对该变量使用特定于数组的方法。例如,array_push()、array_map()等。就PHP而言,这是不必要的。PHP将使用
$foo[$bar][
语法为您隐式创建任意数量的子数组。业务逻辑可能需要它,但不在此特定安排中;这简直是多余的。如果值赋值是某种独立的逻辑,但您仍然希望确保键至少存在一个空数组,那么这是唯一有意义的时间。可能的重复项
for ($row in $someOtherArray) {
if (!isset($cache[$row['id']])) {
$cache[$row['id']] = [];
}
$cache[$row['id']][] = $row['data'];
}