PHP:" - "转向" 0"

时间:2016-08-04 18:36:47

标签: php forms

这是我的形式:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

        routes.MapRoute(
           name: "ReturnJSON",
           url: "{controller}/{action}/{id}",
           defaults: new { controller = "Home", action = "ReturnJSON", id = UrlParameter.Optional }
       );

        ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());
    }
}

当我

<form action="data.php" method="get">
    <input type="text" name="num1"><br>
    <input type="text" name="num2"><br>
    <input type="submit" >
</form>

它变得像:

echo $_GET['num1'] . + "-" . + $_GET['num2'];

虽然我想要:

505

为什么我的5-5 转向-

2 个答案:

答案 0 :(得分:4)

+addition operator,而不是连接运算符。 That's .+强制PHP将type juggle划分为一个整数,以便它可以进行您要求的数学计算,结果破折号变为零。

您应该删除它们,因为您已经在使用正确的操作符:

echo $_GET['num1'] . + "-" . + $_GET['num2'];

应该成为

echo $_GET['num1'] . "-" . $_GET['num2'];

答案 1 :(得分:2)

+运算符用于添加。 .运算符用于连接。

您可以删除代码中的+,也可以将所有内容放在一起而不使用连接,如下所示:

echo "{$_GET['num1']}-{$_GET['num2']}";