如何按字母顺序排序php类别数组?

时间:2012-08-08 10:45:47

标签: php arrays sorting

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

按字母顺序排序的数组是:

 $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> ';
  }
}

2 个答案:

答案 0 :(得分:0)

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

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

您可以在数组元素中使用foreach循环。

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

答案 1 :(得分:0)

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