如何使用POST变量计算?

时间:2017-11-01 16:01:30

标签: php

我需要将此POST变量乘以12.例如,如果金额为10,结果应该说:

   directionfd = open("/sys/class/gpio/gpio971/direction", O_RDWR);

    if(directionfd < 0)
    {
        printf("Cannot open GPIO direction it\n");
        exit(1);
    }

到目前为止,这是我的代码:

Amount: 120

我尝试在另一个变量中运行计算,但这似乎不起作用:

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

或者它可以工作,我的输出代码不起作用:

$result = ($_POST['my_amount'])*12;

3 个答案:

答案 0 :(得分:0)

如果您希望输出类似于第一个示例,... Amount:120以下三个示例中的每个示例中缺少的块数。首先,请确保您的$ _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;
}

答案 1 :(得分:-1)

最合乎逻辑的解释是你从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

答案 2 :(得分:-1)

$_POST['my_amount'] = 150;
$data = $_POST['my_amount'] * 12;
echo $data;

结果将为1800