最近于召开上下端连接的时刻,遭遇一个问题,前端要求回到的数额格式是左的,然而本人经过json_encode再次回到到的数据格式是左边的
  专注:数据格式从”[]”(数组)变成了”{}”(对象)

 

json 1json 2

 

google了下,发现:javascript不协助关联数组 ,
PHP中索引数组转换成json是数组([]),php关联数组转换成json是目的( {} )
,所以倘使关乎数组的说话,需要针对数组做片甩卖才行

PHP中的数组:索引数组和事关数组

PHP协助有限种植数组,一种植是止保留”值”(value)的索引数组(indexed
array),另一样栽是保留”名值对”(name/value)的涉及数组(associative
array)。

由于javascript不援助关联数组,所以json_encode()只将索引数组(indexed
array)转为数组格式,而以关全面组(associative array)转为对象格式。

例如:

//1、索引数组
$arr = Array('one', 'two', 'three');
echo json_encode($arr);

//返回值:
["one","two","three"] 

//2、关联数组
$arr = Array('1'=>'one', '2'=>'two', '3'=>'three');
echo json_encode($arr);

//返回结果:
{"1":"one","2":"two","3":"three"} 

用,如果欲达成图一的结果,需要针对咱的数组中之涉嫌数组举办处理(转为索引数组)

引进一个函数:

array_values():返回数组的所有值(非键名)

$a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
print_r(array_values($a));

//返回结果

Array ( [0] => Bill [1] => 60 [2] => USA )

末更就此 json_encode处理后即会见高达图一的结果。

以上

 

* *

 

    

相关文章

网站地图xml地图