En el manual de PHP, ( array_push ) dice ..
Si usa array_push () para agregar un elemento a la matriz, es mejor usar $ array [] = porque de esa manera no hay sobrecarga de llamar a una función.
Por ejemplo :
$arr = array();
array_push($arr, "stackoverflow");
print_r($arr);
vs
$arr[] = "stackoverflow";
print_r($arr);
No entiendo por qué hay una gran diferencia.