2016-11-23 93 views
0

[PHP版本5.5.9]

我有相似的阵列以下几点:
PHP - json_encode和数组大小

array(2) { 
    ["items"]=> 
    array(2) { 
    [0]=> 
    array(3) { 
     ["title"]=> 
     string(5) "Item1" 
     ["price"]=> 
     int(999) 
     ["img"]=> 
     string(38) "http://someu.rl" 
    } 
    [1]=> 
    array(3) { 
     ["title"]=> 
     string(5) "Item2" 
     ["price"]=> 
     int(1999) 
     ["img"]=> 
     string(38) "http://someu.rl" 
    } 
    } 
    ["success"]=> 
    bool(true) 
} 

当我在这个阵列上使用json_encode()我没有问题,直到数组包含4个(或更多)项目。然后它返回false而不是JSON字符串。
我曾经使用var_export()导出数组(有12个项目),并将其手动插入到json_encode()(最初数据来自数据库),然后运行。

有没有人知道问题是什么?提前感谢您的答复。

+1

那么发生了一些错误。什么是输出:'echo json_last_error_msg();'如果你把它放在'json_encode()'之后? – Rizier123

回答

0

http://php.net/manual/en/function.json-encode.php

成功返回或FALSE的失败一个JSON编码字符串。

有99.99%的机会,你的“长”字符串包含非转义字符或其他无效的东西。

对于json数组的大小没有“限制”,json-encode也没有。 (除了自然系统限制,你不会碰到4个元素)

+0

我已经将表格字符集设置为UTF-8,但不知何故忘了也将连接字符集设置为UTF-8。现在工作。 – BlobbyBob