No manual do PHP, ( array_push ) diz ..
Se você usar array_push () para adicionar um elemento ao array, é melhor usar $ array [] = porque dessa forma não há sobrecarga de chamar uma função.
Por exemplo :
$arr = array();
array_push($arr, "stackoverflow");
print_r($arr);
vs
$arr[] = "stackoverflow";
print_r($arr);
Não entendo porque é que existe uma grande diferença.