с инициализацией:
$myArray = array();
if ($myBoolean) {
$myArray['foo'] = 'bar';
}
return $myArray;
Без инициализации:
if ($myBoolean) {
$myArray['foo'] = 'bar';
}
return $myArray;
В первом случае ясно, что вы хотите, если $ myBoolean имеет значение false. Во втором случае это не так, и php может выдать предупреждение, если вы позже попытаетесь использовать $ myArray. Очевидно, это упрощенный случай, но в сложном случае «если» может быть на несколько строк ниже и / или даже не существовать, пока кто-то не придет и не добавит его позже, не осознавая, что массив не был инициализирован.
Хотя это и не нужно, я видел, что отсутствие инициализации вызывает неочевидные логические проблемы, подобные этой, в сложных функциях, которые со временем сильно модифицировались.