gpt4 book ai didi

PHP获取数组中重复次数最多的值

转载 作者:行者123 更新时间:2023-12-03 20:19:53 24 4
gpt4 key购买 nike

我在数组中有一个数组,如下所示:

Array
(
[0] => Array
(
[name] => B
[id] => 924572
)

[1] => Array
(
[name] => A
[id] => 120689
)

[2] => Array
(
[name] => A
[id] => 120689
)

[3] => Array
(
[name] => C
[id] => 919644
)

[4] => Array
(
[name] => A
[id] => 120689
)

[5] => Array
(
[name] => B
[id] => 924572
)
)

如何从名为 nameid 的对象中获取最多重复的值?

我已经尝试过下面的代码,但收到错误:警告:array_count_values():只能计算 STRING 和 INTEGER 值!

$count = array_count_values($info);
arsort($count);
$popular = array_keys($count);
echo $popular[0];

有解决这个问题的方法吗?

最佳答案

用于搜索最重复对的“序列化方式”(nameid):

$out = array();
foreach($arr as $el){
$key = serialize($el);
if (!isset($out[$key]))
$out[$key]=1;
else
$out[$key]++;
}

arsort($out);

foreach($out as $el=>$count){
$item = unserialize($el);
echo "Name = ".$item['name'].' ID = '.$item['id'].' Count = '.$count.'<br/>';
}

输出:

Name = A ID = 120689 Count = 3
Name = B ID = 924572 Count = 2
Name = C ID = 919644 Count = 1

更新不循环

.....
arsort($out);

$most = unserialize(key($out));
$most_count = array_shift($out);

echo $most['name'];
echo $most['id'];
echo $most_count;

输出:

A
120689
3

关于PHP获取数组中重复次数最多的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33581401/

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