我需要在PHP中初始化多维数组的每个键吗?

我需要在PHP中初始化多维数组的每个键吗?,php,multidimensional-array,key,Php,Multidimensional Array,Key,严格地说/最佳实践:我需要设置每个“深层嵌套子数组”,还是您可以直接访问它 //so do I need to do this: if(!isset($multiArray[$newKey])) $multiArray[$newKey] = array(); //before I can do this? $multiArray[$newKey][] = 'somevalue'; 严格地说,不,PHP将在将值推送到数组之前创建新数组,没有任何问题 最佳实践?它可能是基于个人观点的,我会说,首

严格地说/最佳实践:我需要设置每个“深层嵌套子数组”,还是您可以直接访问它

//so do I need to do this:
if(!isset($multiArray[$newKey])) $multiArray[$newKey] = array();

//before I can do this?
$multiArray[$newKey][] = 'somevalue';

严格地说,不,PHP将在将值推送到数组之前创建新数组,没有任何问题

最佳实践?它可能是基于个人观点的,我会说,首先创建数组是为了可读性,而且在逻辑上是有意义的。如果另一个开发人员选择了您的代码,那么您是否正在创建一个新的数组可能并不明显,而不是推送到一个现有的数组

在PHP中不需要初始化变量,但这是一个非常好的实践。未初始化的变量具有其类型的默认值,具体取决于使用它们的上下文-布尔值默认为FALSE,整数和浮点值默认为零,字符串(例如在echo中使用)设置为空字符串,数组变为空数组

资料来源:PHP手册