1
resposta

Como usar o operador ternário para parar um loop?

Por que este código não faz com que pule o numero 13 ao ser executado?

<?php
for ($i=0; $i < 16 ; $i++) { 
 $i==13 ? 'break':'continue';

echo "$i\n";
}
1 resposta

Vamos avaliar o que essa sua linha faz, Marcos:

 $i==13 ? 'break':'continue';

Supondo que o valor de $i seja 13, o primeiro argumento do operador ternário será retornado dessa expressão.

Com isso, você tem essa expressão toda sendo avaliada como a string 'break'. Essa string não está sendo armazenada em lugar nenhum e simplesmente é ignorada pelo interpretador.

Se você quer EXECUTAR alguma instrução, e não apenas retornar um valor, o operador ternário não é a solução. :-)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software