2017-04-21 84 views
0

如果我有一個數組,看起來像這樣:高級數組排序

$members = array(
array(
    'id'=>2, 
    'name' => 'Bob', 
    'status' => 1 
    ), 
array(
    'id'=>4, 
    'name' => 'Fred', 
    'status' => 1 
    ), 
array(
    'id'=>5, 
    'name' => 'Sally', 
    'status' => 0 
    ), 
array(
    'id'=>1, 
    'name' => 'Fred', 
    'status' => 1 
    ), 
array(
    'id'=>3, 
    'name' => 'Jane', 
    'status' => 0 
    ), 
); 

我怎樣才能讓他們按字母順序顯示按名稱排序條目?

回答

0

您可以定義自己的比較功能:

function cmp($a, $b) 
{ 
    return strcmp($a['name'], $b['name']); 
} 

usort($myarray, "cmp"); 

更多關於在PHP中的排序可以在PHP documentation

0

在這裏找到我們使用usortstrcmp排序嵌套數組。與strcmp我們正在比較兩個字符串。

Try this code snippet here

$array = array(
array(
    'id'=>2, 
    'name' => 'Bob', 
    'status' => 1 
    ), 
array(
    'id'=>4, 
    'name' => 'Fred', 
    'status' => 1 
    ), 
array(
    'id'=>5, 
    'name' => 'Sally', 
    'status' => 0 
    ), 
array(
    'id'=>1, 
    'name' => 'Fred', 
    'status' => 1 
    ), 
array(
    'id'=>3, 
    'name' => 'Jane', 
    'status' => 0 
    ), 
); 

usort($array, function($data1,$data2){ 
    return strcmp($data1["name"], $data2["name"]); 
}); 
print_r($array);