Массивы PHP … Что означает / является значение (ы) пустой скобки?

Я столкнулся с некоторым примером кода, который выглядит так:

$form['#submit'][] = 'annotate_admin_settings_submit'; 

Почему есть скобка после ['#submit'], которая пуста без ничего внутри? Что это значит? Может ли кто-нибудь дать мне пример? Обычно (из моего понимания, которое, вероятно, неверно) заключается в том, что массивы имеют ключи, и в этом случае ключ массива $ form '#submit' равен 'annotate_admin_settings_submit', но что такое сделка со вторым набором скобок. Я видел примеры, в которых может выглядеть массив:

$form['actions']['#type'] = 'actions';

Я знаю, что это очень простой вопрос о php в целом, но я столкнулся с этим вопросом, изучая Drupal, поэтому, надеюсь, кто-то из сообщества Drupal может прояснить этот вопрос, который я одержим.

Когда вы говорите $form['actions']['#type'] = 'actions' , он присваивает значение $form['actions']['#type'] , но когда вы говорите $form['#submit'][] = 'annotate_admin_settings_submit'; , если $form['#submit'] является массивом, он добавляет 'annotate_admin_settings_submit' к концу, и если он пуст, это будет массив с одним единственным элементом, который является 'annotate_admin_settings_submit' .

Пустые скобки означают, что когда строка добавляется в массив, php автоматически генерирует ключ для записи, а не указывается в скобках при заполнении массива. Итак, $form['#submit'][] = 'annotate_admin_settings_submit'; это то же самое, что $form['#submit'][0] = 'annotate_admin_settings_submit'; если вы впервые это сделаете. В следующий раз это будет $form['#submit'][1] = 'annotate_admin_settings_submit'; , и т.д.