Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将通过AJAX发送的布尔值转换为字符串_Php_Jquery_Ajax - Fatal编程技术网

PHP将通过AJAX发送的布尔值转换为字符串

PHP将通过AJAX发送的布尔值转换为字符串,php,jquery,ajax,Php,Jquery,Ajax,我正在使用AJAX向PHP发送类似的内容: var details = [{name: "thing1", value: true}, {name: "thing2", value: true}, {name: "thing3", value: false}] $.ajax({ url: 'myphp.php', type: 'POST', dataType: 'JSON', data: { universalDetails: details,

我正在使用AJAX向PHP发送类似的内容:

var details = [{name: "thing1", value: true}, {name: "thing2", value: true}, {name: "thing3", value: false}]

$.ajax({
    url: 'myphp.php',
    type: 'POST',
    dataType: 'JSON',
    data: {
        universalDetails: details,
    },
//...etc.
在我的PHP中,如果包括以下内容:

$universalDetails = $_POST["universalDetails"];
var_dump($universalDetails);
我所有的
都显示为数组中的字符串…如下所示:

{[“name”]=>string(20)“thing1”[“value”]=>string(4)“true”}


这里发生了什么事?如何将它们保留为布尔值?

这是出于设计,因为每个POST/GET参数基本上都是一个字符串。如果($\u POST['universalDetails']['value']='true')…可以尝试执行
,因为PHP会将字符串
“true”
更改为值为
true
的布尔值(不是字符串!):

更多信息:

但是请注意:
var_dump((bool)“false”);//布尔(真)