0


昇順でレコードを選択した後、mysql テーブルに数千の行があり、結果の各セクションをこの形式でアルファベット順にフォーマットしたい

a
ab
abc
abcd
abcde
abcdef
-------------------------------------
b
bab
babc
babcd
babcdef
-------------------------------------
c
ca
cab
cabc
cabcd
cabcde
cabcdef
-------------------------------------

私がする必要があるのは、アルファベットの各セクションを線で区切ることです。

4

2 に答える 2

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'];
}
?>

上記のコードは、数字や !"# のような特殊文字のグループ化を処理しませんが、要点を理解する必要があります。

于 2013-05-14T13:07:20.033 に答える
0

の初期値を持つ変数を作成したでしょう。最初の文字aを持つレコードに初めてヒットしたら、変数をbに設定し、行を出力します。最初の文字がbになったら、変数をcに設定して行を出力します。

私の言いたいことを理解していただければ幸いです。

幸運を!

于 2013-05-14T12:58:58.587 に答える