Php 如何使用POST变量进行计算?

Php 如何使用POST变量进行计算?,php,Php,我需要把这个POST变量乘以12。例如,如果金额为10,则结果应为: Amount: 120 以下是我目前的代码: Amount :'.$_POST['my_amount'].'<br/> 或者,它可以工作,但我的输出代码无法工作: $vl_text=''; Amount :'.$_POST['my_amount'].'<br/>'.; 最合乎逻辑的解释是,您可以从POST获取字符串。实现所需的一个好方法是将POST值转换为int,但请记住它不能

我需要把这个POST变量乘以12。例如,如果金额为10,则结果应为:

Amount: 120
以下是我目前的代码:

Amount :'.$_POST['my_amount'].'<br/>
或者,它可以工作,但我的输出代码无法工作:

 $vl_text='';
        Amount :'.$_POST['my_amount'].'<br/>'.; 

最合乎逻辑的解释是,您可以从POST获取字符串。实现所需的一个好方法是将POST值转换为int,但请记住它不能是数字

$int = (is_numeric($_POST['my_amount']) ? (int)$_POST['my_amount'] : 0); //If POST value is numeric then convert to int. If it's not numeric then convert it to 0

如果您希望输出与第一个示例相似,则结果将为1800。,。。数量:在下面3个例子中,每一个都有120个缺失的区块。首先确保$\u POST变量有效,并将其设置为新变量,以便在需要时打印出该变量

// if you only expect $_POST['my_amount'] to contain integers...

if(is_int(intval($_POST['my_amount']))){
    $my_amount = intval($_POST['my_amount']) * 12;

// or if you expect $_POST['my_amount'] to possibly contain a decimal

if(is_float(floatval($_POST['my_amount']))){
    $my_amount = floatval($_POST['my_amount']) * 12;
intval可以确保变量被强制转换为整数(如果可以的话),但这并不是完全必要的,因为在php中,乘法可以做到这一点……检查用于数学功能的任何变量是一种很好的做法。 floatval对带小数的数字执行相同的操作。作为一个整数必须是一个整数,如果你的变量可以是包含小数的数字。。。使用floatval

然后,所有示例都需要指定打印/回显字符串…所以

// your second line
echo 'Amount :'.$my_amount .'<br/>';
// your fourth line...
$vl_text='Amount: '.$my_amount;
echo $vl_text;
}

但这似乎不起作用,应该是这样的。您是否输出了$result变量?这应该可以正常工作。您的$U POST['my\u amount']可能没有您期望的内容。尝试var\u dump$\u POST['my\u amount']来显示它的内容。对我来说效果很好$\u POST['my\u amount']=10;echo$result=$\u POST['my\u amount']*12;-总数:120。由于多种原因,这可能会失败。但我们不会知道,直到你发布你的完整代码。看起来非常类似于…数字不一定意味着整数。数字可以是一个浮点;因此,通过强制转换为int来丢失信息。
// if you only expect $_POST['my_amount'] to contain integers...

if(is_int(intval($_POST['my_amount']))){
    $my_amount = intval($_POST['my_amount']) * 12;

// or if you expect $_POST['my_amount'] to possibly contain a decimal

if(is_float(floatval($_POST['my_amount']))){
    $my_amount = floatval($_POST['my_amount']) * 12;
// your second line
echo 'Amount :'.$my_amount .'<br/>';
// your fourth line...
$vl_text='Amount: '.$my_amount;
echo $vl_text;
}