当我使用Ajax调用PHP文件并通过javascript字典传递POST变量时,该POST变量的值将解析为PHP字典。但是,字符串值的长度在字符串之前。数组也是如此。为什么会这样,我该如何规避? (比较字符串时,PHP认为字符串(x)是字符串的一部分)
编辑:字符串比较仍然有效,但是我仍然想知道为什么要添加它。 EDIT2:我找到了答案,这实际上是var_dump的一部分。.
JavaScript ajax调用:
var res = $.ajax({
type: "POST",
data: {
name:"STRING NAME",
validators:{KEY: "VALUE", KEY2: "VALUE2"}
},
url: url,
dataType: "json",
async: false,
success: function(data) {
result=data;
}
});
使用PHP在接收端进行转储
array(2) {
["KEY"]=>
string(5) "VALUE"
["KEY2"]=>
string(6) "VALUE2"
}
答案 0 :(得分:1)
在您的示例中:
array(2) {
["KEY"]=>
string(5) "VALUE"
["KEY2"]=>
string(6) "VALUE2"
}
您看到'string(5)“ VALUE”',因为您正在通过var_dump()函数进行打印。
您应该使用print_r()函数隐藏数据类型。
答案 1 :(得分:0)
事实证明,这种现象是var_dump
的一部分。没什么可担心的。