Boa tarde. Por favor, não entendi porque nesse caso entra em loop! O objetivo era contar somente impares de 1 à 99 .
<?php
$contador = 1;
for ($contador = 1; $contador <=99; $contador + 2) {
echo "$contador" . PHP_EOL;
}
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa tarde. Por favor, não entendi porque nesse caso entra em loop! O objetivo era contar somente impares de 1 à 99 .
<?php
$contador = 1;
for ($contador = 1; $contador <=99; $contador + 2) {
echo "$contador" . PHP_EOL;
}
Boa tarde, você errou no incremento da variável contador.
no caso ou você usa o atalho para "$contador ++" para incrementar de 1 em 1, ou vc pode usar a sintaxe "$contador +=2", onde o sinal de mais antes do igual quer dizer a própria variável mais o valor 2. Seria o equivalente a fazer "$contador = $contador + 2".
Só que esse código seu apesar de funcionar, imprimir apenas números impares, não entrou muito na ideia de saber se o número é de fato impar ou não. Imagina que ao invés de começar com o valor fixo 1, o usuário insere o número que deseja iniciar, enquanto ele começar com números impares o seu código funciona, mas se ele digitar números pares o seu código não funcionaria.
O ideal nesse caso seria realizar a operação de MOD, que pega o resto de uma divisão. Então seria algo assim:
if ($contador % 2 != 0) { // se o resto da divisão da variável/2 for diferente de 0, imprime
echo $contador . PHP_EOL;
for($contador = 1; $contador <= 99; $contador +=2){
echo $contador . PHP_EOL;
}