Sim, mas neste caso, voce esta verificando o tamanho de um produto. Mas e dos outros? A ideia gira em torno da funcao mysqli_fetch_assoc
que percorre todos os resultados da tabela do banco de dados.
Executa o while a primeira vez e retorna o primeiro resultado, executa a segunda vez e retorna o segundo resultado. Evitando até mesmo o uso de contador.
No for, voce necessariamente um contador. O que eu acho que você poderia fazer é.
for($i = 0; $i < count(mysqli_fetch_assoc($resultado); $produto = mysqli_fetch_assoc($resultado); $i++))
Mas é uma complexidade desnecessaria e ainda por cima, torna o contador uma variavel de controle praticamente sem utilidade. No fim, ele conta por contar e não controla nenhum fluxo (o qual seria seu proposito).
Outro problema é que o contador vai chegar a um valor maior do que o tamanho do array de produto, parando a execução sem que todos os resutados sejam apresentados. Um problema que chega a ser imperceptivel e demoraria dias descobrir a causa.