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. 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;
}