php json_encode值中大括號與花括號區(qū)別
1.當(dāng)array是一個從0開始的連續(xù)數(shù)組時,json_encode出來的結(jié)果是一個由[]括起來的字符串
而當(dāng)array是不從0開始或者不連續(xù)的數(shù)組時,json_encode出來的結(jié)果是一個由{}括起來的key-value模式的字符串
$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
echo json_encode($test);
結(jié)果:
[1,1,1]
$test = array();
$test[] = 1;
$test[] = 1;
$test[] = 1;
unset($test[0]);
echo json_encode($test);
結(jié)果:
{"1":1,"2":1}
2.當(dāng)字符串為[1,1,1] 這種模式時,json_decode默認解析出來的結(jié)果是一個數(shù)組,
當(dāng)字符串為{"1":1,"2":1} 這種模式時,json_decode默認解析出來的結(jié)果是一個對象,此時可以設(shè)置它的第二個參數(shù)為true強制讓它返回數(shù)組
3.由于php無法區(qū)分一維數(shù)組和二維數(shù)組,才會出現(xiàn)以上情況,因為使用json編碼時推薦將第二個參數(shù)設(shè)置為true