2
respostas

Fiz dessa forma um pouco mais detalhada, mas acho que ficou bom!

<?php 


echo "IMC = Peso ÷ (Altura × Altura)" . PHP_EOL;


$peso = 116;
$altura = 1.70; //Ex: 1.65

$resultado = $peso / $altura ** 2 ;



if ($resultado < 16) {

    echo "Seu IMC é de: ". round($resultado,2) . PHP_EOL . "Você está em Subpeso Severo!";
}
elseif ($resultado == 16 || $resultado <= 19.9) {

    echo "Seu IMC é de: ". round($resultado,2) . PHP_EOL . "Você está em Subpeso!";
}
elseif ($resultado == 20 || $resultado <= 24.9) {

    echo "Seu IMC é de: ". round($resultado,2) . PHP_EOL . "Você está dentro dos padrões Normais";
}
elseif ($resultado == 25 || $resultado <= 29.9) {

    echo "Seu IMC é de: ". round($resultado,2) . PHP_EOL . "Você está em Sobrepeso!";
}
elseif ($resultado == 30 || $resultado <= 39.9) {

    echo "Seu IMC é de: ". round($resultado,2) . PHP_EOL . "Você está em Obeso!";
}
elseif ($resultado > 40) {

    echo "Seu IMC é de: ". round($resultado,2) . PHP_EOL . "Você está em Obesidade Morbida!";
}





 ?>

kk Acho que dependendo da fonte de pesquisa, esses valores são mais ou menos detalhados, né? Dei uma pesquisada e usei esse "round" pra deixar mais agradável a leitura com duas casas decimais.

Enfim! Parabéns Vinicius, tua didática é uma das melhores que já vi referentes a cursos Online.

2 respostas

Fala Paulo, beleza?

Só vale ressaltar que o "round" assim como o "floor" e o "ceil" aplicam arredondamentos nos valores passados. Round arredonda para cima, floor para baixo e o ceil também para cima, porém arredondando também o valor inteiro. Se o intuito for somente melhorar a visualização, fixando as casas decimais recomendo utilizar a função number_format. Segue documentação: https://www.php.net/manual/pt_BR/function.number-format.php

Espero ter ajudado :D

Talvez fosse melhor se voce coloca-se as proximas condicoes considerando apenas a condicao de limite para evitar redundancia e falha em alguma verificacao.

Eu fiz dessa maneira e funciona perfeitamente:

<?php

$h = 1.79;
$w = 74.7;
$imc = $w / $h ** 2;

if ($imc <= 18.4) {
    echo "IMC = $w Kg / ($h x $h) = $imc Kg/m2 (Abaixo do peso)" . PHP_EOL ;

} elseif ($imc <= 24.9) {    
    echo "IMC = $w Kg / ($h x $h) = $imc Kg/m2 (Peso Ideal)" . PHP_EOL ;

} elseif ($imc <= 29.9) {
    echo "IMC = $w Kg / ($h x $h) = $imc Kg/m2 (Sobrepeso)" . PHP_EOL ;

} elseif ($imc <= 34.9) {
    echo "IMC = $w Kg / ($h x $h) = $imc Kg/m2 (Obesidade de grau 1)" . PHP_EOL ;

} elseif ($imc <= 39.9) {
    echo "IMC = $w Kg / ($h x $h) = $imc Kg/m2 (Obesidade de grau 2)" . PHP_EOL ;

} elseif ($imc >= 40) {
    echo "IMC = $w Kg / ($h x $h) = $imc Kg/m2 (Obesidade de grau 3)" . PHP_EOL ;
}