繁体   English   中英

double encode php 多维数组发送到javascript

[英]double encode php multidimensional array to send to javascript

这不是一个问题,因为我已经解决了这个问题,但我坚持修复,我想知道为什么当你在 ajax 调用中将它返回到 javascript 时,你需要在 php 中加倍 json_encode 多维数组例子。

我的阵列

$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));

output 是:

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

如果你试试:

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

output 将是:

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

看到不同?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM