我有以下代码片段,它返回了许多类别,以及每个类别中的项目计数器。问题是它没有按字母顺序返回。如何强制它们按字母顺序输出?我认为它必须与“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> ';
}
}
答案 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