mon problème est comme dans le sujet Trier les résultats grâce aux attributs sauf que c'est avec un tableau d'objets

Voici le code de mon fichier doc.xml
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<document>
    <menu ordre="2" nom="Menu1" />
    <menu ordre="3" nom="Menu2" />
    <menu ordre="1" nom="Menu3" />
</document>
code php de mon script
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
    $doc= new  domDocument();
    $doc->load('doc.xml');
    $pages = $doc->getElementsByTagName('menu');

Je souhaite faire un tri du tableau $pages grâce à l'attribut ordre pour avoir la résultat
  • Menu3
  • Menu1
  • Menu2

parce que j'ai fait pas mal de recherche et j'ai pas trouvé la solution et j'ai essayé avec usort mais ça fonctionne pas :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function sort_by_ordre($menu1, $menu2) {
    $ordre1 = intval($menu1->getElementsByTagName('ordre'));
    $ordre2 = intval($menu2->getElementsByTagName('ordre'));
    if ($ordre1 == $ordre2)
        return 0;
    else
        return ($ordre1 < $ordre2) ? -1 : 1;
}
usort($pages, 'sort_by_ordre');