gpt4 book ai didi

php - 在 php 中对热门书籍的数组进行排序

转载 作者:行者123 更新时间:2023-12-02 15:04:17 25 4
gpt4 key购买 nike

这里有一个问题,我必须在 php 中找到 HitTest 门的书以及每本书的读者数量。该数组如下所示

$input=array();
$input[]=array("Harrypotter","John");
$input[]=array("Twilight","Jack");
$input[]=array("Twilight","John");
$input[]=array("Harrypotter","Jack");
$input[]=array("Gonegirl","marion");
$input[]=array("Gonegirl","marion");
$input[]=array("Gonegirl","John");
$input[]=array("Gonegirl","eliza");

我可以通过将书名复制到一个单独的数组(例如 temparray)并使用以下函数来找到最上面的书

$temparray = array_count_values($temparray);
arsort($temparray);

但我无法弄清楚如何获取每本书的读者数量的逻辑,读者姓名可能会重复,因此我们必须消除重复的。任何快速对事物进行排序的方法都会有所帮助.

最佳答案

您可以先获取每本书的名称以创建平面数组,然后应用计数。示例:

$input=array();
$input[]=array("Harrypotter","John");
$input[]=array("Twilight","Jack");
$input[]=array("Twilight","John");
$input[]=array("Harrypotter","Jack");
$input[]=array("Gonegirl","marion");
$input[]=array("Gonegirl","test");
$input[]=array("Gonegirl","John");
$input[]=array("Gonegirl","eliza");

$input = array_map('unserialize', array_unique(array_map('serialize', $input)));
// remove dups
$temparray = array_map(function($book_name){
return $book_name[0]; // get book names
}, $input);
$temparray = array_count_values($temparray); // then apply the counting
arsort($temparray);

print_r($temparray); // Array ( [Gonegirl] => 3 [Twilight] => 2 [Harrypotter] => 2 )

关于php - 在 php 中对热门书籍的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26903469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com