1.當array是一個從0開始的連續數組時,json_encode出來的結果是一個由[]括起來的字符串
而當array是不從0開始或者不連續的數組時,json_encode出來的結果是一個由{}括起來的key-value模式的字符串
復制代碼 代碼如下:
$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
echo json_encode($test);
結果:
[1,1,1]
復制代碼 代碼如下:
$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
unset($test[0]);
echo json_encode($test);
結果:
{"1":1,"2":1}
2.當字符串為[1,1,1] 這種模式時,json_decode默認解析出來的結果是一個數組,
當字符串為{"1":1,"2":1} 這種模式時,json_decode默認解析出來的結果是一個對象,此時可以設置它的第二個參數為true強制讓它返回數組
3.由於php無法區分一維數組和二維數組,才會出現以上情況,因為使用json編碼時推薦將第二個參數設置為true