Olá, Nádia.
Sua dúvida ficou um pouco confusa, mas vou tentar saná-la:
Primeiro, sim, a atribuição está correta.
Segundo, a função array_push adiciona itens em um array, e é recomendada quando queremos adicionar vários itens de uma só vez.
Quanto a inicializar um array com $produtos = [];
, é idêntico a $produtos = array();
. São 2 sintaxes diferentes para obter o exato mesmo resultado.
Agora, finalizando e o mais importante, se você quiser adicionar um valor ao final de um array, basta fazer:
$produtos[] = $novoItem;
Isso faz com que o valor de $novoItem
seja adicionado ao array (já existente) $produtos
.
Está no forno, quase saindo, um novo curso básico de PHP como continuação deste aqui que vai explicar com mais detalhes os arrays no PHP.