Я создал функцию ниже, которая должна возвращать статус, основанный на двух входах, но он всегда заканчивается последним оператором if.Я не могу понять, почему это заканчивается в последнем.Если я прокомментирую последний, он закончится одним из приведенных выше.
//Function to check if margin is OK or not
function check_margin($vpc, $bruto_margin_avg) {
if(($vpc >= 1 && $vpc <= 15000) && ($bruto_margin_avg >= 33 && $bruto_margin_avg <= 40)) {
//IF VPC is between 0-15000kn and bruto margin is between 33-40%
$bruto = 'OK';
$comment = '1';
} else {
$bruto = 'NO';
$comment = '33% - 40%';
}
if(($vpc >= 15000 && $vpc <= 50000) && ($bruto_margin_avg >= 0 && $bruto_margin_avg <= 2)) {
$bruto = 'OK';
$comment = '2';
} else {
$bruto = 'NO';
$comment = '25% - 30%';
}
if(($vpc >= 50000 && $vpc <= 80000) && ($bruto_margin_avg >= 23 && $bruto_margin_avg <= 27)) {
$bruto = 'OK';
$comment = '3';
} else {
$bruto = 'NO';
$comment = '23% - 27%';
}
if($vpc > 80000 && $bruto_margin_avg > 21) {
$bruto = 'OK';
$comment = '';
} else {
$bruto = 'NO';
$comment = '> 21%';
}
return array($bruto, $comment);
}
Мои входные параметры таковы:
$vpc = 1560.00;
$bruto_margin_avg = 14.952937358001;
На основании результатов ввода это должно закончиться впервое утверждение if.Что плохого в приведенном ниже коде, который не может дать правильный результат?