2012-01-30 80 views
0

我累了數組和列表的是這樣的:PHP獲取字符串/數字按正確的順序

Array(
    [0] Item 1 
    [1] Item 10 
    [2] Item 11 
    [3] Item 2 
    [4] Item 3 
    ) 

PHP是否有一個快速的方法,從而,顯示這讓10後自帶1 2, 3 ...?

回答

8

看起來像你需要自然排序算法。 natsort函數在PHP中做到這一點。

$items = array('item 1', 'item 2', 'item 3', 'item 10'); 
natsort($items); 
print_r($items) 

輸出

陣列([0] =>項1 1 =>項目2 [2] =>項目3 [3] =>項目10)

+0

致命的!哇,希望我在這年前知道。謝謝!! – emc 2012-01-30 07:18:03

1

嘗試函數排序:

sort(<array-name> , SORT_NUMERIC); 

它會按升序排列數組中的數值。

0

使用下面的PHP函數:

<?php 
$myArray = array("0" => "1", "1" => "10", "2" => "11", "3" => "2", "4" => "3"); 

asort($myArray); 

foreach($myArray as $key => $value) { 
    echo "$key - $value <br />"; 
} 
?> 

這裏是例子:sort number with string

+0

這是沒有辦法回答OP的問題,因爲你的'$ myArray'完全不同。 – nickb 2012-01-30 07:11:37

+1

對不起,使用'natsort()'函數,它會對數字和字符串進行排序。 。 – 2012-01-30 07:18:22

相關問題