2017-03-02 59 views
1

我有數字的陣列,每個與兩個側電話號碼,但兩者例如numbers.For之間的隔板:如何對其中包含分隔符的數組進行排序?

$selectTableRows= array("1_6", "3_4", "10_1", "2_2", "5_7"); 

我需要取決於號碼對數組進行排序隔板後「_」。因此,結果應該是像,

10_1 ,2_ ,3_ ,1_ ,5_

在php中需要幫助。

謝謝

+1

爲什麼在最後最顯著多少?如果你交換它們,你可以使用'natsort'。如果您只想對最後一個數字進行排序,請使用'usort'和'explode'編寫自定義排序函數。 – Halcyon

+0

這不是一組數字;數字不會出現在引號和分隔符之間。這是一串字符串。 –

回答

0

使用usortexplode功能的解決方案:

$selectTableRows = array("1_6", "3_4", "10_1", "2_2", "5_7"); 
usort($selectTableRows, function ($a, $b){ 
    return explode('_', $a)[1] - explode('_', $b)[1]; 
}); 

print_r($selectTableRows); 

輸出:

Array 
(
    [0] => 10_1 
    [1] => 2_2 
    [2] => 3_4 
    [3] => 1_6 
    [4] => 5_7 
) 
相關問題