【问题标题】:Listing Array Values Alphabetically with Letter Heading使用字母标题按字母顺序列出数组值
【发布时间】:2011-10-18 18:45:12
【问题描述】:

我需要一些帮助来解决这个问题。我正在尝试创建一个函数,该函数按字母顺序输出数组中的值,但在到达当前字母末尾后还会回显一个新字母标题。例如:

一个

亚马逊

美国

B

巴哈马

百慕大

C

加拿大

柬埔寨

等等

到目前为止,我可以通过重复“$result”中的代码来做到这一点,但我知道这不是一个好习惯,所以我正在寻找包含变量而不是“a%”和自动增量的东西每次成功运行脚本后的字母(在 Z 处停止)。

<?php
$username = "myusername";
$password = "mypsswrd";
$hostname = "localhost"; 


$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");


$selected = mysql_select_db("mydb",$dbhandle)
or die("Could not select database");

$result = mysql_query("SELECT user, name FROM users WHERE name like 'a%' ORDER BY name");
echo "A<br />";
while ($row = mysql_fetch_array($result)) {
echo "<a href=\"/artists/artist.php?user=".$row{'user'}."\">".$row{'name'}."</a><br />";
}
echo "<br />";

【问题讨论】:

    标签: php sorting alphabetical


    【解决方案1】:
    $result = mysql_query("SELECT user, name FROM users ORDER BY name");
    $last = '';
    
    while ($row = mysql_fetch_array($result)) {
        $current = strtolower($row['name'][0]);
        if ($last != $current) {
            echo strtoupper($current) . "<br />";
            $last = $current;
        }
        echo "<a href=\"/artists/artist.php?user=".$row{'user'}."\">".$row{'name'}."</a><br />";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-03
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多