【发布时间】:2013-08-23 06:02:36
【问题描述】:
我有一个项目数组,我正在尝试为它们生成一个按字母顺序排列的导航。
A|B|C|D|E|F|G|H 等...
- 苹果
- 杏子
- 胡萝卜
- 骆驼
- 狗
所以我想列出字母表中的每个字母,但只链接数组中匹配项的那些。
到目前为止我有:
$productArr = array('Apple','Apricot','Carrot','Camel','Dog');
$previous = null;
foreach(range('A','Z') as $alpha) {
$arrayCount = count($productArr);
for ($i=0; $i < $arrayCount; $i++) {
$firstLetter = $productArr[$i];
if ($firstLetter[0] == $alpha && $firstLetter[0] != $previous){
echo '<li><a href="#'.$alpha.'">'.$alpha.'</a></li>';
$previous = $alpha;
}elseif ($firstLetter[0] != $alpha && $alpha != $previous){
echo '<li>'.$alpha.'</li>';
$previous = $alpha;
}
}
}
在 elseif 之前它工作正常,如果您注释掉 elseif,它会按预期打印链接列表。只需要弄清楚如何打印字母表的其余部分。
任何关于我哪里出错的帮助将不胜感激。
干杯
【问题讨论】:
-
所以我想列出字母表中的每个字母,但只链接数组中具有匹配项的那些意味着您只想链接那些具有以该字母表开头的数组值的字母表。如果我错了。