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

How to preserve variable type when posting to php from javascript

本文关键字:php 保留 变量 类型 javascript      更新时间:2023-09-26

当我使用ajax将数据从Javascript发送到PHP时,PHP $_POST变量总是字符串。是否有任何方法可以在发布时保留变量类型。例如,当张贴布尔值true时,我想要一个布尔值true,而不是字符串'true'。

你可以使用JSON作为格式,PHP JSON解析器会为你做。

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

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

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

如果您需要将值强制转换为其他类型,并且不能在代码中硬编码这些类型,则需要安排将"类型信息"传递给PHP(也是作为字符串)。这就是固有地提供数据类型支持的协议(如SOAP)的工作方式。

如上所述,您可以让JSON解析器为您做这些。您也可以通过检查值来自己尝试。

Like boolean: is_boolhttp://php.net/manual/en/function.is-bool.php

类似于int: is_inthttp://php.net/manual/en/function.is-int.php

等。

这可以在你有POST值时完成,并检查例如number字段是否为int:

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