2012-08-08 72 views
-1

我有以下一段代码,它返回许多类别,以及每个类别中的项目计数器。问题是它没有按字母顺序返回。我如何强制他们按字母顺序输出?我认为它必须与“asort”或什么,但我似乎无法弄清楚如何。我非常感谢任何建议! :)如何按字母顺序排序PHP类别数组?

数组字母顺序排序是:

$category_lang[$cat_details['category_id']] 

的完整代码:

while ($cat_details = $db->fetch_array($sql_select_categories)) 
{ 
    $subcat_link = basename($_SERVER['PHP_SELF']) . '?parent_id=' .$cat_details['category_id'] . $additional_vars; 

    $categoryCounter = (COUNT_CATS == 1 && !empty($src_details['keywords_search'])) ? $cat_counter[$cat_details['category_id']] : $cat_details['items_counter']; 

    if ($categoryCounter > 0 || COUNT_CATS == 0) { 
    $output .= '<tr> ' . 
     ' <td class="contentfont"><a href="' . $subcat_link . '">' . $category_lang[$cat_details['category_id']] . '</a> ' . 
     (($categoryCounter) ? '<span class="cnt">(' . $categoryCounter . ')</span>' : '') . 
     ' </td> ' . 
     '</tr> '; 
    } 
} 

回答

0
$array=$category_lang[$cat_details['category_id']] 

asort($array); 
//Now $array is sorted alphabetically. use it as you want. 

您可以通过数组使用foreach循环。

asort,对维护相关元素索引的数组进行排序。

0

在这种情况下,最好使用mysql ORDER BY名称ASC