В руководстве по PHP ( array_push ) сказано ..
Если вы используете array_push () для добавления одного элемента в массив, лучше использовать $ array [] =, потому что в этом случае нет накладных расходов на вызов функции.
Например :
$arr = array();
array_push($arr, "stackoverflow");
print_r($arr);
против
$arr[] = "stackoverflow";
print_r($arr);
Я не понимаю, почему такая большая разница.