簡體   English   中英

按字母順序按值列出和排序關鍵字 php mysql

[英]List and sort keywords by value alphabetically php mysql

正如標題所示,我想在 php 和 mysql 中按字母順序列出(混合所有值)和對所有行的關鍵字進行排序。

我有多行列名為“關鍵字”,用逗號分隔:

  • voiture électrique, recyclage des電池

  • Télétravail,travail à domicile,局

  • réchauffement climatique, effet de serre

  • 共同工作,工作

這是我的代碼:

<?php

include_once ("config.php");
$query_top = "SELECT keywords FROM market WHERE keywords != ''"; 

if ($stmt_top = $bdd->prepare($query_top)) {

$stmt_top->execute();

$result_top = $stmt_top->get_result();

$num_of_rows_top = $result_top->num_rows;

$stmt_top->close();
}

while ($row_kw = $result_top->fetch_assoc()) 
{
$keywords = $row_kw['keywords'];

$array = array_filter(array_map('trim', explode(',', $keywords)));
sort($array);
$array = implode('<br>', $array);
echo $array . '<br/>';

}

?>

我的結果需要按字母順序按值排序,例如:

  • 驚人的

  • 美麗

  • 聯合辦公

有任何想法嗎?

編輯最終工作代碼是:

$array = [];

while ($row_kw = $result_top->fetch_assoc()) 
{
$array = array_merge($array, explode(',', $row_kw['keywords']));
}

$array = array_filter(array_map('trim', $array));
sort($array);

// FR language
$collator = new Collator('fr_FR');

$collator->asort( $array );


$array = implode('<br>', $array);
echo $array . '<br/>';

非常感謝@Kinglish 的幫助。

在構建它的循環之外對數組進行排序

$array=[];
while ($row_kw = $result_top->fetch_assoc()) {
  array_merge($array, explode(',', $row_kw['keywords']);
}
$array = array_filter(array_map('trim', $array));
sort($array);
$array = implode('<br>', $array);
echo $array . '<br/>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM