Php 获取最大数组计数
您好,需要帮助从给定数组获取重复值,下面是我尝试获取最大值的代码Php 获取最大数组计数,php,arrays,Php,Arrays,您好,需要帮助从给定数组获取重复值,下面是我尝试获取最大值的代码$values[4] $values = array( "0"=> "abc", "1"=> "aaa", "2"=> "aaa|abc", "3" => "| | | | | | | | | | | | | | | | ", "4" => "a|b|b|c|d|e|f|g", "5" => "1|2|3||4|5|6" ); foreach
$values[4]
$values = array(
"0"=> "abc",
"1"=> "aaa",
"2"=> "aaa|abc",
"3" => "| | | | | | | | | | | | | | | | ",
"4" => "a|b|b|c|d|e|f|g",
"5" => "1|2|3||4|5|6"
);
foreach ($values as $key) {
$prevalues = explode('|', $key);
$count[] = count($prevalues);
}
print_r($counts);
$counts = array_count_values($count);
arsort($counts);
echo $max= key($counts);
Array
(
[0] => 1
[1] => 1
[2] => 2
[3] => 17
[4] => 8
[5] => 8
)
print_r($max );
目前,我得到$max=1;我需要$max为8。您可以使用max()
查找数组中的最高值,下面是一个示例
echo max(array(1, 5, 7, 2, 3));
这将为您提供17
foreach ($values as $item)
{
$temp[] = substr_count($item, "|") + 1;
}
echo max($temp);
如果已经有了数组$counts和值,并且只需要在数组中找到最大值,就像我想你在问的那样,那么php中已经有了一个内置函数
$max = max($counts);
$max等于17
文件:
关于根据您对IAMBRAINSRED的评论在数组中查找必须重复的值:
可以使用数组\计数\值()
将输出:
Array
(
[1] => 2
[2] => 1
[17] => 1
[8] => 2
)
从那里,您可以根据需要使用这些数据。文档:
您可能可以使用
substr\u count($key,“|”)+1
而不是explode
编辑:我想我不是很清楚这个问题,也许你能写得更清楚些吗?为什么要使用键
功能?为什么不:
foreach ($values as $key=>$value)
$max = max(substr_count($value,'|')+1,$max);
echo $max;
无阵列拆分或存储阵列。:) 但是我无法从上面的代码中获得最大值,我使用的更好,iambriansreed的想法是合并substr_count(),你可以在下面的网站上获得相关文档@user1477117这是一个问题吗?@iambrainsreed:我也需要获取数组中重复次数最多的值,如何使用您的方法获取重复值“最多”的重复值是什么?在一个字符串中重复的每个值?或者只是重复的top3?@Mohammer计数($value),在上面的数组8中重复
foreach ($values as $key=>$value)
$max = max(substr_count($value,'|')+1,$max);
echo $max;