如何将字符串变量转换为int并同时添加两个整数?

时间:2017-08-17 12:57:50

标签: php

这是我的代码:

    <?php
    //for reference
    $intqty = (int) $_POST["qty_input"];
    (int)$_SESSION['cart_qty'] += $intqty;
    ?>

$_POST['qty']是一个字符串,我试图在会话变量中添加和存储值,但它不起作用。 I echo $_SESSION['cart_qty'];为0时的输出;

3 个答案:

答案 0 :(得分:3)

如果$_POST["qty_input"]无效,则转为int将返回0

$_SESSION['cart_qty'] = (int)$_SESSION['cart_qty'] + $intqty;

答案 1 :(得分:1)

如果您的变量都是有效数字,那么如果您将它们用作数字,则会隐式转换,例如,如果您尝试添加它们:

$_SESSION['cart_qty'] += $_POST['qty_input'];

不多也不少。

如果这条线不起作用,那就太奇怪了。这可能意味着其中一个或两个值都不是有效数字,但我假设您已经检查了变量的内容。

答案 2 :(得分:0)

您需要使用类似$_POST的内容明确显示存储在$_SESSIONvar_dump中的值,以确保该值确实是可以转换为int的字符串( ie&#34; 23&#34;),但即便如此,你也不需要将字符串转换为int。 PHP支持type juggling,它基本上在对它们执行操作时隐式地将变量转换为正确的类型。

这应解释如何将字符串转换为int,以及如何同时添加两个整数,只需使用++=,具体取决于您希望存储值的位置。< / p>