嚴謹地說/最佳實踐:我是否需要設置每個「更深的嵌套子陣列」,還是隻能訪問它?我是否需要在PHP中初始化多維數組的每個鍵?
//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手冊http://fr2.php.net/manual/en/function.array-multisort.php