Olá pessoal,
Tanto no vídeo como no exercício, é citado que as duas formas de adicionar items a um array (array_push($cursos, '')
e $cursos[] = ''
) são iguais a não ser no fato de que a função array_push
permite adicionar vários items de uma só vez. Mas, há um diferença técnica que é citada de forma quase escondida na documentação e muito pouco se fala...
A diferença que se pode encontrar é que o uso do $cursos[] = ''
é mais rápido que o uso da função array_push
. Alguns casos já vi testes, simples claro, que mostram um ganho de 50% até 100% de velocidade.
Claro que estamos falando de coisas de milissegundos, mas é algo importante a se saber dependendo da aplicação e seus objetivo.
Inclusive, já vi exemplos de que mesmo com várias chamados ao $cursos = ''
para adicionar diferentes items, pode ser mesmo assim mais rápido que uma única chamado ao array_push
com vários itens como argumento.
Achei esse fato interessante para ser compartilhado.
Um código de exemplo que pode ser executado rapidamente:
<?php
$t = microtime(true);
$array = [];
for ($i = 0; $i < 10000; $i++) {
$array[] = $i;
}
echo "Com uso de [] : \t\t" . microtime(true) - $t;
echo PHP_EOL;
$t = microtime(true);
$array = [];
for ($i = 0; $i < 10000; $i++) {
array_push($array, $i);
}
echo "Comm uso de array_push : \t" . microtime(true) - $t;
echo PHP_EOL;
Inclusive, atualmente com o PHP 8.0.3 a diferença chega a ser cerca de 3x mais rápido com o uso de []
.