猿问

在 PHP 中使用 JSON 时在字符串前添加字符串长度

当我使用 Ajax 调用 PHP 文件并使用 JavaScript 字典传递 POST 变量时,该 POST 变量的值被解析为 PHP 字典。但是,字符串值的长度被添加到字符串之前。数组也是如此。为什么会这样,我该如何规避?(当比较字符串时,PHP 认为 string(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 在接收端进行 var dump


array(2) {

  ["KEY"]=>

  string(5) "VALUE"

  ["KEY2"]=>

  string(6) "VALUE2"

}


哔哔one
浏览 198回答 2
2回答

有只小跳蛙

在你的例子中:array(2) {    ["KEY"]=>    string(5) "VALUE"    ["KEY2"]=>    string(6) "VALUE2"}你看到 'string(5) "VALUE"' 因为你是通过 var_dump() 函数打印的。您应该使用 print_r() 函数来隐藏数据类型。

蝴蝶不菲

好吧,事实证明这种现象是var_dump. 所以没什么好担心的。
随时随地看视频慕课网APP
我要回答