php json_encode奇怪问题说明

yipeiwu_com5年前PHP代码库
json_encode 只支持utf-8格式这个就不多说了
复制代码 代码如下:

$array = array (
[0] => array ( [sale_unit_detail_id] => 13 [price] => 740000 [geometric_lat] => 51.50348620 [geometric_lng] =>-0.01710900 )
[1] => Array ( [sale_unit_detail_id] => 27 [price] => 740000 [geometric_lat] => 51.50348620 [geometric_lng] => -0.01710900 )
);

上面的php数组json_encode 之后通常会转化php数组会转化为形如[[...][...]] 的格式,但是今天碰到一个怪问题,当我的数组长度达到142的时候 给我转化为了形如
  {'0' :{..},'1':{...}......}的格式很奇怪,json_encode 一个神奇的函数
php中json_encode转数组为json字符串时的超奇怪问题。

对比以下两段代码:
复制代码 代码如下:

$menu[0][0] = "title1";
$menu[0][1] = "bar1";
$menu[0][2] = "bar2";
$menu[1][0] = 'title2';
$menu[2][0] = 'title3';
echo '&$menu='.json_encode($menu).'&';

这个会输出:&$menu=[["title1","bar1","bar2"],["title2"],["title3"]]&
复制代码 代码如下:

$menu[0]["title"] = "title1";
$menu[0]["bar1"] = "bar1";
$menu[0]["bar2"] = "bar2";
$menu[1][0] = 'title2';
$menu[2][0] = 'title3';
echo '&$menu='.json_encode($menu).'&';

而这个居然输出:&$menu=[{"title":"title1","bar1":"bar1","bar2":"bar2"},["title2"],["title3"]]&

什么意思?问题就在于{}和[],{}是对象,[]是数组!!!!在非php的情况下遍历的时候方法就不一样了!json_encode这个东西太神奇了,神奇起来让人有点郁闷!

相关文章

php解析html类库simple_html_dom(详细介绍)

下载地址:https://github.com/samacs/simple_html_dom解析器不仅仅只是帮助我们验证html文档;更能解析不符合W3C标准的html文档。它使用了类似...

利用PHP_XLSXWriter代替PHPExcel的方法示例

利用PHP_XLSXWriter代替PHPExcel的方法示例

前言 本文主要给大家介绍的是关于利用PHP_XLSXWriter代替PHPExcel的方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 二者有何区别? PHP...

php 实现进制相互转换

从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数。连接一起就可以了。 <?php /** *十进制转二进制、八进制、十六进制 不足位数前面补...

PHP中将数组转成XML格式的实现代码

下面是网上的 复制代码 代码如下: class ArrayToXML { /** * The main function for converting to an XML documen...

php 中文字符入库或显示乱码问题的解决方法

大家以后在编写过程中, 一定要记得定义字符类型。mysql_query("set names 'gbk'") 解决的方法就这么简单。 今天做了一个数据库查询,放出代码。 复制代码 代码如...