php array_unique 處理后json_encode注意事項
array_unique() 先將值作為字符串排序,然后對每個值只保留第一個遇到的鍵名,接著忽略所有后面的鍵名,這并不意味著在未排序的 array 中同一個值的第一個出現的鍵名會被保留.
例如:array_unique(array(1, 1, 2)); ],他的結果是:
- array(2) {
- [0]=>
- int(1)
- [2]=>
- int(2) //開源代碼Vevb.com
- }
array_unique() 函數移除數組中的重復的值,并返回結果數組,當幾個數組元素的值相等時,只保留第一個元素,其他的元素被刪除,返回的數組中鍵名不變.
這就不是numeric數組了,直接做json_encode,會輸出一個json對象,而不是數組
{"0":1,"2":2}
如果這時候頁面上js需要的是[1,2]這種數組數據格式,就有可能會產生錯誤,此時應該在array_unique之后,在做一個array_values ,這樣:array_values(array_unique(array(1, 1, 2)));結果就是[1,2].
新聞熱點
疑難解答