Я делю эти числа; 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 сегодня.
Вы устанавливаете $ 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);
Прежде всего, ознакомьтесь с руководством о Переменная сфера.
В конце, echo 16/25
работает хорошо. Ваша проблема в том, что вы ожидаете $filterAreaRequirement
Вы можете изменить var за пределами области действия функции.