按字母顺序对数组进行排序,并按首字母

时间:2016-10-19 09:23:25

标签: php arrays loops sorting

如何按字母顺序对数组进行排序并分成由第一个字母定义的组?

我想知道如何使用php。

我从数据库中检索名称列表。

我在寻找:

enter image description here

我的查询:

//  Product names
$producten          = "SELECT * FROM `producten`";
$productencon       = $conn->query($producten);
$productencr        = array();
while ($productencr[] = $productencon->fetch_array());

3 个答案:

答案 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