0

我从数据库中获取所有用逗号分隔的关键字并从中创建数组,然后合并所有数组。从结果数组中,我只保留唯一项array_unique。问题是我无法按值对结果数组进行排序。

这是我的代码:

$select_all_keywords = mysqli_query($db_connect, "SELECT `keywords` FROM `bookmarks`") or die(mysqli_error());

$keywords_array = array();

while($keywords = mysqli_fetch_assoc($select_all_keywords))
{
    $explode_keywords = explode(", ", $keywords['keywords']);
    $keywords_array = array_merge($keywords_array, $explode_keywords);
}

$unique_keywords = array_unique($keywords_array);

sort($unique_keywords);

$unique_keywords = array_values($unique_keywords);

print_array($unique_keywords);

打印的数组:

array(23) {
  [0]=>
  string(10) "Awolnation"
  [1]=>
  string(7) "Belgium"
  [2]=>
  string(7) "Gravity"
  [3]=>
  string(21) "Nervo (Musical Group)"
  [4]=>
  string(5) "R3..."
  [5]=>
  string(22) "R3hab (Musical Artist)"
  [6]=>
  string(5) "Remix"
  [7]=>
  string(4) "Sail"
  [8]=>
  string(30) "Tomorrowland (Recurring Event)"
  [9]=>
  string(21) "Tomorrowland Festival"
  [10]=>
  string(9) "Unlimited"
  [11]=>
  string(6) "dasdas"
  [12]=>
  string(10) "freshbooks"
  [13]=>
  string(11) "gdsfgdsfgds"
  [14]=>
  string(6) "mockup"
  [15]=>
  string(3) "php"
  [16]=>
  string(11) "programming"
  [17]=>
  string(10) "revolution"
  [18]=>
  string(17) "tomorrowland 2013"
  [19]=>
  string(11) "ummet ozcan"
  [20]=>
  string(10) "web design"
  [21]=>
  string(7) "wikihow"
  [22]=>
  string(3) "xml"
}

我尝试了几乎所有的排序数组函数。他们都没有帮助我按值 ASC 对数组进行排序。

4

1 回答 1

2

我相信您可能正在寻找 asort(),它会按值对数组进行排序。但仍然保持键相同。

在此处查看文档。 http://php.net/manual/en/function.asort.php

于 2013-10-28T00:02:27.157 回答