Questões Programação PHP

O código abaixo, escrito em PHP, foi encontrado por um analista durante um processo...

Responda: O código abaixo, escrito em PHP, foi encontrado por um analista durante um processo de revisão.


1Q119243 | Programação, PHP, Analista de Sistemas, IBGE, CESGRANRIO

O código abaixo, escrito em PHP, foi encontrado por um analista durante um processo de revisão.
Imagem 021.jpg
Após fazer uma avaliação, o analista resolveu adotar uma estratégia diferente e implementou a lógica acima por meio do comando switch, conforme segue.

Imagem 022.jpg
Em uma segunda revisão, o analista percebeu que o comportamento das duas implementações não era o mesmo e que ele precisava fazer uma adaptação no código implementado com o comando switch através da introdução de um novo comando. Que comando do PHP pode ser combinado com o switch na implementação acima para que o comportamento das duas implementações seja o mesmo?

  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

💬 Comentários

Confira os comentários sobre esta questão.
Camila Duarte
Por Camila Duarte em 31/12/1969 21:00:00
Gabarito: b)

No PHP, quando usamos o comando switch, cada case deve terminar com um break para evitar o chamado "fall through", que é quando o código continua executando os cases seguintes mesmo que a condição já tenha sido satisfeita. No código original com if/else, cada condição é avaliada separadamente e, ao encontrar uma verdadeira, o restante é ignorado automaticamente.

Já no switch, se não colocarmos o break no final de cada case, o PHP vai executar todos os cases seguintes até encontrar um break ou o fim do switch, o que muda o comportamento em relação ao if/else.

Portanto, para que o switch funcione da mesma forma que o if/else, é necessário adicionar o comando break ao final de cada case. Assim, o programa sai do switch assim que um case for executado, mantendo o comportamento esperado.
⚠️ Clique para ver os comentários

Visualize os comentários desta questão clicando no botão abaixo

Ver comentários
Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.