математика — PHP деление дает 0

Я делю эти числа; 16/25 и получаю 0, где я хочу 0,64

Мой код:

echo 16 / 25;

Я получаю эти цифры из моего файла .html и просто сделал код простым для вас.

Мой оригинальный код:

<html>
<body>
<?php
$poolSize = (int)$_POST["poolSize"];
$turnoverTime = (int)$_POST["turnoverTime"];
$turnoverRate = (int)$_POST["turnoverRate"];

$pumpRequirement = 0;
$filterAreaRequirement = 0;


function calcPumpRequirement($poolSize, $turnoverTime){
$pumpRequirement = round($poolSize / $turnoverTime);
echo $pumpRequirement."<br>";
}

function calcFilterAreaRequirement($pumpRequirement, $turnoverRate){
$filterAreaRequirement = $pumpRequirement / $turnoverRate;
echo $filterAreaRequirement;
}

calcPumpRequirement($poolSize, $turnoverTime);
calcFilterAreaRequirement($pumpRequirement, $turnoverRate);
?>

</body>
</html>

Извините за мою ошибку новичка. Просто начал PHP сегодня.

1

Решение

Вы устанавливаете $ pumpRequirement на 0. Таким образом, это всегда будет 0. Вам нужно установить его вне функции.

function calcPumpRequirement($poolSize, $turnoverTime){
$pumpRequirement = round($poolSize / $turnoverTime);
echo $pumpRequirement."<br>";
/// return value
return $pumpRequirement;
}

$pumpRequirement = calcPumpRequirement($poolSize, $turnoverTime);
calcFilterAreaRequirement($pumpRequirement, $turnoverRate);
3

Другие решения

Прежде всего, ознакомьтесь с руководством о Переменная сфера.

В конце, echo 16/25 работает хорошо. Ваша проблема в том, что вы ожидаете $filterAreaRequirement Вы можете изменить var за пределами области действия функции.

2

По вопросам рекламы [email protected]