0

需要一点帮助

我有

$_POST["zapremina"]=2000;
$_POST["starost"]="15%";
$_POST["namena"]="50%";

我想要简单的功能来做到这一点

$foo=(2000 - 15%) - 50%;

怎么做?

4

4 回答 4

1

PHP 是松散类型的,因此您不必显式地转换类型或进行不必要的操作(例如 str_replace)

您可以执行以下操作:

$z = $_POST["zapremina"]; //$_POST["zapremina"]=2000;
$s = $_POST["starost"];   //$_POST["starost"]=15%;
$n = $_POST["namena"];    //$_POST["namena"]="50%;

$result = (($z - ($z *($s / 100))) - ($z * ($n / 100)));

请记住使用括号来获得可读的代码和有意义的 var 名称。

于 2013-03-30T19:42:25.450 回答
0

我会这样做:

  $zap = intval($_POST['zapremina']);
  $sta = intval($_POST['starost']);
  $nam = intval($_POST['namena']);
  $foo = ($zap * ((100-$sta)/100)) * ((100 - $nam)/100)
于 2013-03-30T19:27:31.997 回答
0

像这样:

$starostPercentage = (substr($POST["starost"], 0, -1) / 100);
$namenaPercentage = (substr($POST["namena"], 0, -1) / 100);

$foo = ($_POST["zapremina"] * (100 - $starostPercentage)) * $namenaPercentage;

这就是它的作用以及原因:

  • 将百分比(如15%)从它们的文本形式转换为它们的小数形式(substr(15%)= 1515 / 100= 0.15)。
  • $foo用这些小数计算。2000 - 15%是你会写的(作为一个人),但在 PHP 中你需要把它写成2000 * (100 * 0.15),意思是:2000 的 85%)。
于 2013-03-30T19:23:16.963 回答
0

添加此函数,然后调用它

function calculation($a, $b, $c)
    {
        $b = substr($b, 0, -1) / 100;
        $c = substr($c, 0, -1) / 100;
        return (($a * $b) * $c);
    }

现在你可以打电话了

$foo = calculation($_POST["zapremina"], $_POST["starost"], $_POST["namena"]);

大多数时候都使用函数,因为它有助于可重用性。

于 2013-03-30T19:30:15.180 回答