2015-07-20 53 views
1

我将这些数字分开;二十五分之十六并得到0,我想0.64PHP划分给出0

我的代码:

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

您正在使用round()函数 – meen

+1

而不是函数'calcFitlerAreaRequirement',这是函数计算16/25 – Detilium

+1

@Detilium也许是因为'$ pumpRequirement'等于0? – Daan

回答

3

您将$ 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); 
+0

是的正是这个:) –

2

首先,查看关于Variable Scope的手册。

最后,echo 16/25效果很好。你的问题是你期望你的$filterAreaRequirement var在你愿意改变它的函数范围之外被改变。

+1

使它与'全球'工作。谢谢。我为我的菜鸟错误感到抱歉。今天刚刚开始使用PHP。 – Detilium