我在mysql表中有几千行 在按升序选择记录后,我想以这种格式按字母顺序格式化结果的每个部分
a
ab
abc
abcd
abcde
abcdef
-------------------------------------
b
bab
babc
babcd
babcdef
-------------------------------------
c
ca
cab
cabc
cabcd
cabcde
cabcdef
-------------------------------------
我需要做的是用线条去除字母表中的每个部分。
答案 0 :(得分:2)
在php(和大多数其他语言)中,所有字符串都是字符数组。所以$ string [0]将保存字符串的第一个字符。
<?php
$rows = get_rows_from_mysql();
$section = false;
foreach ($rows as $row) {
if ($section != strtolower($row['name'][0])) {
if ($section != false) echo "------------------------";
$section = strtolower($row['name'][0]);
}
echo $section['name'];
}
?>
以上代码不会处理数字或特殊字符的分组,例如!“#,但你应该明白这一点。
答案 1 :(得分:0)
我会创建一个初始值为 a 的变量。一旦它第一次用第一个字母 a 命中记录 - 将变量设置为 b 并打印一行。第一个字母是 b 后 - 将变量设置为 c 并打印一行。
希望你理解我的意思。
祝你好运!