2013-03-15 81 views
7
sort($new, SORT_NATURAL | SORT_FLAG_CASE); 

SORT_NATURAL($新,SORT_NATURAL SORT_FLAG_CASE)是在PHP 5.4新的,但我有5.3.10在我的本地運行(Ubuntu的12.04)沒有真正的意圖,因爲那升級。排序|在PHP 5.3

什麼是在PHP 5.3中的等價物,我讀過,就像natsort。

natsort($new, SORT_FLAG_CASE);是一樣的嗎?

+0

5.4是PHP的最新版本。你應該升級。 – Tchoupi 2013-03-15 19:57:38

+3

'natsort'不帶標誌,但它似乎也有一個不區分大小寫的'natcasesort',會導致我相信'natsort'是大小寫敏感*。所以我想你想要'natcasesort($ new)'。 – 2013-03-15 20:02:05

+0

natsort()不支持額外的參數。你不能傳遞任何標誌,所以不......它不是等價的:http://php.net/nat_sort – 2013-03-15 20:02:11

回答

11

PHP Manual指出natsort ($array)等於sort($array,SORT_NATURAL);它也指出SORT_FLAG_CASE直到5.4.0都沒有加入。

您可以使用相當於sort($array,SORT_NATURAL | SORT_FLAG_CASE)natcasesort($array)

1

儘管它們基本相同,但natsort($array)sort($array, SORT_NATURAL)之間的重要區別是關鍵關聯。

natsort()維護密鑰關聯,這意味着密鑰和值保持關聯。

但是,sort()不是主要關聯,所以值是根據它們的新順序重新分配的鍵。