php - 双重编码php多维数组发送到javascript

标签 php javascript json multidimensional-array

这并不是一个问题,因为我已经解决了这个问题,但我被困在修复中,我想知道为什么当你在 php 中将其返回到 javascript 时,需要对 php 中的多维数组进行双重 json_encode例如ajax调用。

我的数组

$jsonData = array('foo', 'bar');
$jsonData['catOne'][] = array('foo two', 'bar two');

PHP

return json_encode(json_encode($jsonData));

最佳答案

你不需要。 json_encode 遍历最深层的元素,json 将被完美编码:

$arr = array(
    1 => array(5,6,7),
    2 => array(4,3,2),
);

var_dump(json_encode($arr));

其输出是:

string(25) "{"1":[5,6,7],"2":[4,3,2]}"

如果你尝试:

var_dump(json_encode(json_encode($arr)));

输出将是:

string(31) ""{\"1\":[5,6,7],\"2\":[4,3,2]}""

看出区别了吗?

关于php - 双重编码php多维数组发送到javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10016478/

相关文章:

javascript - 如何在Angularjs中设计下表

javascript - JSON.parse javascript 中的 JSON 字符串

javascript - 如何删除引号或将此字符串作为普通数组传递

php - Codeigniter 这个->db->查询

php - 网站页面的疯狂显示问题。元素消失......但只是有时。浏览器8

php - 使用不同的增值税更新现有价格。 PHP 与触发器

javascript - React 和 Firebase - 如何根据属性值进行计数

javascript - typescript 文件和 javascript 文件中的文件名相同

java - 从 Jackson 获取未知字段列表

javascript - onClick 将 'POST' 数据发送到 php 文件并获取结果