我有以下数组数组:
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
string(3) "abc"
[1]=>
string(3) "įāē"
}
[1]=>
array(2) {
[0]=>
string(3) "čaē"
[1]=>
string(3) "qwe"
}
}
}
我正在使用以下代码在页面上回显结果:
echo json_encode($array);
我在页面上得到以下结果:
[[["abc",null],[null,"qwe"]]]
每个带有特殊字符的字符串都将转换为null。因此,我尝试utf8_encode
了数组中的每个元素:
foreach($array as &$subarray1){
foreach($subarray1 as &$subarray2){
foreach($subarray2 as &$subarray3){
$subarray3 = utf8_encode($subarray3);
}
}
}
但是我得到以下结果:
[[["abc","\u00e1\u00e2\u00e7"],["\u00e8a\u00e7","qwe"]]]
对此进行编码的正确方法是什么?
json_encode
支持第二个参数,因此您可以使用如下常量JSON_UNESCAPED_UNICODE
:
$arr = [
0 => [0 => "abc", 1 => "įāē"],
1 => [0 => "čaē", 1 => "qwe"]
];
echo json_encode($arr, JSON_UNESCAPED_UNICODE);
您可以在这里找到有效的演示: https : //ideone.com/J5bvT5
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句