Rayane, esse código até funciona, mas não está escrito da forma mais clara. O que está acontecendo na verdade é comparar a string formatada que está em $imc
com um valor booleano (true
ou false
). Toda string não vazia em PHP é comparável com true
, então por isso o código está funcionando.
Você pode inclusive trocar de switch ($imc) {
para switch (true) {
que o código continua funcionando e nesse caso fazendo um pouco mais de sentido.
Como você já está praticando o switch, fica aqui a dica de uma nova estrutura do PHP 8:
https://youtu.be/iQ0ARa9df7E