我偶然發現了一些讓我困惑的東西。在我之前,如果你保存一個數組並且它是整數的鍵,那麼數組會自動對它自己排序。陣列中的鍵排序
Array
(
[1] => one
[2] => two
)
相反,它出現這樣的:
Array
(
[2] => two
[1] => one
)
也就是說,如果我添加的關鍵
2
,關鍵
1
之前,我雖然該陣列將由最低數量排序
操作:
$arr = array();
$arr[2] = 'two';
$arr[1] = 'one';
這看起來好像沒什麼,但有時我用foreach()
或STO在數組中指定它們並將它們排序爲INSERT
-query,然後它們需要按正確的順序(由於AUTO INCREMENT)。
因此問題:
在PHP中預期的排序結果是什麼?
我有一個相當強大的內存,我已經通過輸出#1排序了數組。這是否有所不同從PHP版本到PHP版本?
感謝您的回答!
你是如何得到這個數組的?即您使用了哪種陣列操作? – 2012-03-26 09:29:27
數組中的AFAIK項目按照將它們添加到數組中的順序排列。您可以使用一些內置PHP函數按鍵對數組進行排序。 – 2012-03-26 09:29:59
'$ arr [2] ='blabla''只會將元素推到數組的末尾,因此,請使用'ksort'重新排序 – Val 2012-03-26 09:38:00