嘿伙计们试图找到一种更有效的方法来做到以下几点。 我在我的网站上跟踪用户的视频历史记录,我在这个网站上有多个视频,所有视频都有类似的类型&#39 ;;摇滚,流行音乐,声学,替代等等。
我正在做的是抓住用户观看的最后六个视频(取决于他们是否观看了六个视频)并找到与该视频相关的类型。一旦我有六种类型;
E.g
$Genre1 = "Pop"; //The last video watched
$Genre2 = "Rock"; //The second last video watched
$Genre3 = "Rock"; // ect ect
$Genre4 = "Alternative";
$Genre5 = "Rock";
$Genre5 = "Rock";
Rock是这些结果中最受欢迎的流派类型,我想知道是否有办法找出哪种流派很受欢迎。
答案 0 :(得分:0)
从所有这些字符串中组合一个数组,例如:
$genres = array('pop', 'rock', 'rock', 'alt', 'rock', 'rock');
而不是使用array_count_values($genres)
功能。
答案 1 :(得分:0)
试试这个:
$Genre[] = "Pop"; //The last video watched
$Genre[] = "Rock"; //The second last video watched
$Genre[] = "Rock"; // ect ect
$Genre[] = "Alternative";
$Genre[] = "Rock";
$Genre[] = "Rock";
$popular = array_count_values($Genre);
$popular = rsort($popular);
foreach ($popular as $pop) {
$most_pop = $pop;
break;
}
echo $pop;
答案 2 :(得分:0)
每当你有同样的事情有多个变量时,你应该把它看作是使用某种形式的数组的线索。然后,您可以查看PHP手册,了解有用的数组函数以处理您的数据。
在这种情况下,一个有用的技巧是将你的类型作为关联数组的键,其值用于计算该类型的出现次数,如下所示:
array(
'Rock' => 2,
'Jazz' => 1,
'Blues' => 3
)
您可以使用$scoreboard[$genre]++
之类的代码循环构建(其中$scoreboard
是您正在构建的数组)。
完成后,您可以使用sort()
按分数顺序排列。
我会让你提出自己的解决方案,而不是为你编写所有代码,但希望这能告诉你如何解决这个问题。