php json_encode 細節

$exp = [0, 1, 2, 3, 4, 5];

echo sprintf("exp %s \n", json_encode($exp)); #exp [0,1,2,3,4,5]

$exp1 = [0, 1, 2, 3, 4, 5];
unset($exp1[0]);

echo sprintf("exp1 %s \n", json_encode($exp1)); #exp1 {"1":1,"2":2,"3":3,"4":4,"5":5}

$exp2 = [0, 1, 2, 3, 4, 5];
unset($exp2[5]);

echo sprintf("exp2 %s \n", json_encode($exp2)); #exp2 [0,1,2,3,4]

就是說
若是key不連續 或者 不從0開始 , 那麼 , json_encode的結果就是js的對象而不是數組
雖然對象和數組均可以用 下標 | 鍵值 來訪問 , 可是對象是沒法 push , pop的
在vue1.0裏面,對象是沒法$set的 , 可能由於這些細小的差異而出現問題vue

相關文章
相關標籤/搜索