-1

各カテゴリのアイテムのカウンターとともに、いくつかのカテゴリを返す次のコードがあります。問題は、アルファベット順に返されないことです。それらをアルファベット順に出力するにはどうすればよいですか? 「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> ';
  }
}
4

2 に答える 2

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

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

配列要素を介して foreach ループを使用できます。

asort、関連付けられた要素のインデックスを維持する配列を並べ替えます。

于 2012-08-08T10:50:56.643 に答える
0

このような場合、mysql ORDER BY name ASC を使用することをお勧めします。

于 2012-08-08T11:06:52.960 に答える