找到数组中最常见的项目 - PHP

时间:2017-03-30 08:51:27

标签: php arrays

我的代码中有3个数组。

array1 = ['apple', 'orange', 'banana', 'guava', 'grapes'];
array2 = ['apple', 'jackfruits', 'banana', 'malta'];
array3 = ['banana', 'grapes, 'apple'];

现在我想从阵列中获得从高频到低频重复的一个阵列。

喜欢结果

array_result = ['apple', 'banana', 'grapes', 'orange', 'malta', 'jackfrouits'];

4 个答案:

答案 0 :(得分:1)

试试这个,

<a class="pin" data-pin-do="buttonPin" href="https://www.pinterest.com/pin/create/button/?url=<?php echo base_url(); ?>Product/<?php echo $result->itemId; ?>&media=https://s-media-cache-ak0.pinimg.com/736x/17/34/8e/17348e163a3212c06e61c41c4b22b87a.jpg&description=<?php echo urlencode($result->title); ?>" ><i class="fa fa-pinterest-p"></i></a>


<div class="g-plus" data-action="share" data-annotation="none" data-href="http://bafwebsite.localhost/Product/720"></div>

array_count_values个状态计算数组的所有值。
arsort个状态按相反顺序对数组进行排序并保持索引关联 array_merge个状态合并一个或多个阵列 array_keys个状态返回数组的所有键或键的子集。

以下是demo

试一试这应该有用。

答案 1 :(得分:1)

$array1 = ['apple', 'orange', 'banana', 'guava', 'grapes'];
$array2 = ['apple', 'jackfruits', 'banana', 'malta'];
$array3 = ['banana', 'grapes', 'apple'];
// Merge them and count all the values
$array_counts = array_count_values(array_merge($array1, $array2, $array3));
// Reverse order by counts
arsort($array_counts);
// Make an array based on the keys
$array_result = array_keys($array_counts);

答案 2 :(得分:1)

$array1 = ['apple', 'orange', 'banana', 'guava', 'grapes'];
$array2 = ['apple', 'jackfruits', 'banana', 'malta'];
$array3 = ['banana', 'grapes', 'apple'];

$arr = array_count_values(explode(',',implode(',',array_values($array1)).",".implode(',',array_values($array2)).",".implode(',',array_values($array3))));
arsort($arr);
print_r(array_keys($arr));

答案 3 :(得分:0)

您可以像这样使用array_count_values函数:

 print_r(array_count_values($array));

手册中的更多信息:http://php.net/manual/en/function.array-count-values.php