2012-07-02 94 views
-1

可能重複:
php sort array by sub-value如何使用內部數組鍵對多維數組進行排序?

我有一個多維數組類似如下:

Array => (
    [0] => Array(
     [a] => abcd, 
     [b] => 22 
    ), 
    [1] => Array(
     [a] => defg, 
     [b] => 12 
    ), 
    ..... 
) 

我想排序這個數組由索引b在價值內部陣列。如果我想降序排序,那麼示例現在可以。但如果我想以升序方式排序,預期輸出將爲:

Array => (
    [0] => Array(
     [a] => defg, 
     [b] => 12 
    ), 
    [1] => Array(
     [a] => abcd, 
     [b] => 22 
    ), 
    ..... 
) 

謝謝!

回答

0

你可以試試這個功能:

bool uasort (array &$array , callback $cmp_function) 

這裏是我的代碼:

$arr = array(
    0 => array('a' => 'abcd','b' => 22), 
     1 => array('a' => 'defg','b' => 12), 
    2 => array('a' => 'dfdf','b' => 32) 
); 

uasort($arr,'mul_sort'); 

function mul_sort($a,$b) 
{ 
    if($a['b'] > $b['b']) 

     return 1;//here,if you return -1,return 1 below,the result will be descending 

    if($a['b'] < $b['b']) 

     return -1; 

    if($a['b'] == $b['b']) 

     return 0; 
} 

print_r($arr); 
output: 
---------- PHP ---------- 
Array 
(
    [1] => Array 
     (
      [a] => defg 
      [b] => 12 
     ) 

    [0] => Array 
     (
      [a] => abcd 
      [b] => 22 
     ) 

    [2] => Array 
     (
      [a] => dfdf 
      [b] => 32 
     ) 

) 
+0

歡迎SO!如果你想格式化你的代碼,你可以使用4個空格或者用''包裝你的行 – j0k

相關問題