从javascript发布到php时如何保留变量类型

时间:2014-08-18 10:43:51

标签: javascript php

当我使用ajax将数据从Javascript发布到PHP时,php $ _POST变量总是字符串。有没有办法在发布时保留变量类型。 EG在发布布尔值时为true我想要一个布尔值为true而不是一个字符串' true'。

3 个答案:

答案 0 :(得分:5)

您可以使用JSON作为格式,PHP json解析器将为您完成。

你可以在这里找到一个例子:

http://php.net/manual/en/function.json-decode.php#90790

答案 1 :(得分:3)

不可能直接:值总是最初在PHP端读取为字符串。

如果您需要将值强制转换为其他类型,并且无法在代码中对这些类型进行硬编码,则需要安排"输入信息"传递给PHP(也作为字符串)。这就是本身提供数据类型支持的协议(如SOAP)的工作原理。

答案 2 :(得分:1)

如上所述,您可以让JSON解析器为您执行此操作。 您也可以通过检查值自行尝试。

喜欢boolean:is_bool http://php.net/manual/en/function.is-bool.php

喜欢int:is_int http://php.net/manual/en/function.is-int.php

当你有POST值时可以这样做,并检查例如数字字段是否为int:

<?php
  $numberIsInt = is_int($_POST["number"]);
  if($numberIsInt) { 
    //Do something
  } else {
    //Return error or do something else
  }
?>