web-dev-qa-db-fra.com

PHP trier le tableau par ordre alphabétique en utilisant une valeur de sous-tableau

Duplicata possible:
Comment puis-je trier les tableaux et les données en PHP?
Comment trier un tableau multidimensionnel en php
Tableau de tri PHP par valeur de sous-tablea
PHP trie le tableau multidimensionnel par valeur

Mon tableau ressemble à:

Array(
    [0] => Array(
         [name] => Bill
         [age] => 15
    ),
    [1] => Array(
         [name] => Nina
         [age] => 21
    ),
    [2] => Array(
         [name] => Peter
         [age] => 17
    )
);

Je voudrais les trier par ordre alphabétique en fonction de leur nom. J'ai vu PHP Sort Array By SubArray Value mais cela n'a pas beaucoup aidé. Des idees pour faire cela?

60
user6

Voici votre réponse et cela fonctionne à 100%, je l'ai testée.

<?php
$a = Array(
    1 => Array(
         'name' => 'Peter',
         'age' => 17
    ),
    0 => Array(
         'name' => 'Nina',
         'age' => 21
    ),
    2 => Array(
         'name' => 'Bill',
         'age' => 15
    ),
);
function compareByName($a, $b) {
  return strcmp($a["name"], $b["name"]);
}
usort($a, 'compareByName');
/* The next line is used for debugging, comment or delete it after testing */
print_r($a);
134
Marian Zburlea

usort est votre ami:

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

usort($array, "cmp");
15
ccKep