2017-04-21 3 views
0

Si j'ai un tableau qui ressemble à ceci:gamme avancée de tri

$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 
    ), 
); 

Comment puis-je trier les entrées afin qu'ils montrent dans l'ordre alphabétique par nom?

Répondre

0

Vous pouvez définir une propre fonction de comparaison:

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

usort($myarray, "cmp"); 

En savoir plus sur le tri en PHP se trouvent dans le PHP documentation

0

Ici, nous utilisons usort et strcmp pour trier un tableau imbriqué. avec strcmp nous comparons deux chaînes.

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);