Php 如何在多维数组中获取最多重复项
你好,我正在尝试在php上的Php 如何在多维数组中获取最多重复项,php,arrays,Php,Arrays,你好,我正在尝试在php上的foreach循环中获得重复次数最多的内容。每个数组都是一个循环。我需要获取重复次数最多的项目的id和name,在本例中是jake 这是一个循环: foreach ($json[$key]['data'] as $user){ var_dump($user); } 输出为: array(2) { ["id"]=> string(4) "7032" ["name"]=> s
foreach
循环中获得重复次数最多的内容。每个数组都是一个循环。我需要获取重复次数最多的项目的id
和name
,在本例中是jake
这是一个循环:
foreach ($json[$key]['data'] as $user){
var_dump($user);
}
输出为:
array(2) {
["id"]=>
string(4) "7032"
["name"]=>
string(4) "Jake"
}
array(2) {
["id"]=>
string(4) "1021"
["name"]=>
string(3) "Ana"
}
array(2) {
["id"]=>
string(4) "2058"
["name"]=>
string(4) "John"
}
array(2) {
["id"]=>
string(4) "7032"
["name"]=>
string(4) "Jake"
}
我需要输出为:
$repeated = array(2) {
["id"]=>
string(4) "7032"
["name"]=>
string(4) "Jake"
}
提前感谢您的所有回答。尝试此步骤从阵列中删除重复项
$repeated = array_map("unserialize", array_unique(array_map("serialize", $repeated)));
您不必在此处使用显式循环:
$counts = array_count_values(array_map(function ($user) {
ksort($user);
return json_encode($user);
}, $users));
arsort($counts);
$result = json_decode(key($counts), true);
基本上,我们将数组元素映射到JSON表示。这件事就这样结束了。这是因为它只能计算字符串或整数。使用前请注意,我们使用。如果用户数据相同,但顺序不同,则需要这样做
然后,我们对保留降序的数组键进行排序
最后,我们得到第一个密钥,并对其进行解码,得到原始数组元素
这是。可能会有帮助