2012-02-14 150 views
0

我有下面的数组,并希望通过“名称”以字母顺序排列。我对如何使用usort()函数有点困惑,因为我没有工作,或者有更好的函数使用?PHP排序多维数组usort()

Array (
    [0] => SimpleXMLElement Object 
     (
      [id] => 1118809 
      [Name] => Laptop 
      [parentID] => 0 
      [sequence] => 4 
      [visible] => 1 
     ) 

    [1] => SimpleXMLElement Object 
     (
      [id] => 1109785 
      [Name] => Special Offers 
      [parentID] => 0 
      [sequence] => 0 
      [visible] => 1 
     ) 

    [2] => SimpleXMLElement Object 
     (
      [id] => 1118805 
      [Name] => Printers 
      [parentID] => 0 
      [sequence] => 12 
      [visible] => 0 
     ) 

    [3] => SimpleXMLElement Object 
     (
      [id] => 1092140 
      [Name] => USB 
      [parentID] => 0 
      [sequence] => 14 
      [visible] => 1 
     )) 

function sort_cats_by_name($a, $b) { 
    return $a->Name - $b->Name; 
} 

usort($subcats, 'sort_cats_by_name'); 
+1

当你减去两个**串**时,你会怎么想? – 2012-02-14 11:31:45

回答

1

哎呀,减少字符串似乎是一个奇怪的方式来做字符串比较,它不能工作!

这一个应该更好。

function sort_cats_by_name($a, $b) { 
    return strcmp($a->Name,$b->Name); 
} 
+0

谢谢 - 我知道我在做一些愚蠢的事情! – LeeTee 2012-02-14 11:35:58