如何按字母顺序对数组进行排序并分成由第一个字母定义的组?
我想知道如何使用php。
我从数据库中检索名称列表。
我在寻找:
我的查询:
// Product names
$producten = "SELECT * FROM `producten`";
$productencon = $conn->query($producten);
$productencr = array();
while ($productencr[] = $productencon->fetch_array());
答案 0 :(得分:1)
试试这个..
<?php
$previous = null;
foreach($array as $value) {
$firstLetter = substr($value, 0, 1);
if($previous !== $firstLetter) echo "\n".$firstLetter."\n---\n\n";
$previous = $firstLetter;
echo $value."\n";
}
?>
答案 1 :(得分:0)
在SQL中存在
的特性OrderBy('coloumn_name','ASC')
所以你可以遍历这个查询
$query="
SELECT *
FROM Table
WHERE 1
ORDERBY('coloumn_name','ASC')"
<?php
foreach($query as $q)
{
//doSomeStuffHere
}
?>
答案 2 :(得分:0)
在 PHP 中我使用这个函数
$array = ["BABY", "BATEAU", "BEAUTY", "CARS","COURSE", "MANGER" ];
$startl=""; // current Starting letter
foreach($array as $o)
{
if (($c=substr($o, 0, 1)) != $startl) // if starting letter changed
{
if ($startl) echo '</ul>';
echo '<ul>'.$c.'</ul>'; // create new group
$startl=$c;
}
echo '<li>' . $o . '</li>';
}
echo '</ul>'; // end the last group