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;