严格来说/最佳实践:我是否需要设置每个'深层嵌套的子数组',或者您只是访问它?
//so do I need to do this:
if(!isset($multiArray[$newKey])) $multiArray[$newKey] = array();
//before I can do this?
$multiArray[$newKey][] = 'somevalue';
答案 0 :(得分:1)
严格来说不是,PHP会在推送值之前创建新数组,没有任何问题。
最佳做法?它可能是基于个人意见的,我会说首先创建数组以提高可读性,这在逻辑上是有道理的。如果其他开发人员选择了您的代码,那么创建新数组可能并不明显,而不是推送到现有数组。
答案 1 :(得分:1)
没有必要在PHP中初始化变量,但这是一个非常好的做法。未初始化的变量具有其类型的默认值,具体取决于使用它们的上下文 - 布尔值默认为FALSE,整数和浮点数默认为零,字符串(例如,在echo中使用)设置为空字符串,数组变为空阵列。
来源:PHP手册http://fr2.php.net/manual/en/function.array-multisort.php