Php 将数组元素分组并显示总数
我试图将数组中的相同元素值分组,然后在数组组的末尾显示其总数。我可以在数组组计数上升时显示它,但我只想在末尾显示最终的总数,如下所示: 期望输出 APhp 将数组元素分组并显示总数,php,arrays,Php,Arrays,我试图将数组中的相同元素值分组,然后在数组组的末尾显示其总数。我可以在数组组计数上升时显示它,但我只想在末尾显示最终的总数,如下所示: 期望输出 A 相同的信息 相同的信息 相同的信息 总计4个 B 相同的信息 相同的信息 相同的信息 相同的信息 总计5个 输出 A 1 相同的信息 2 相同的信息 3 相同的信息 4 B 1 相同的信息 2 相同的信息 3 相同的信息 4 相同的信息 5 $arr=array(); $arr[]=“A”; $arr[]=“A”; $arr[]=“A”; $arr
相同的信息
相同的信息
相同的信息
总计4个
B
相同的信息
相同的信息
相同的信息
相同的信息
总计5个
输出 A
1
相同的信息
2
相同的信息
3
相同的信息
4
B
1
相同的信息
2
相同的信息
3
相同的信息
4
相同的信息
5
$arr=array();
$arr[]=“A”;
$arr[]=“A”;
$arr[]=“A”;
$arr[]=“A”;
$arr[]=“B”;
$arr[]=“B”;
$arr[]=“B”;
$arr[]=“B”;
$arr[]=“B”;
$f=“”;
$total=0;
foreach($arr作为$a)
{
$c=$a;
如果($c!=$f){
$f=$c;
$total=1;
回声$a.“
”;
}否则{
$total++;
回显“相同信息
”;
}
echo$total.“
”;
}
嗯,我想你需要这个代码。在显示$total之前,我添加了一个条件,条件是下一个元素与当前元素不同,或者下一个元素不存在
foreach ($arr as $key => $a)
{
$c = $a;
if ($c != $f)
{
$f = $c;
$total = 1;
echo $a . "<br>";
}
else
{
$total++;
echo 'Same Info <br>';
}
if(isset($arr[$key+1])&&$arr[$key+1]!=$a || !isset($arr[$key+1]))
echo "Total " . $total . "<br>";
}
foreach($arr as$key=>$a)
{
$c=$a;
如果($c!=$f)
{
$f=$c;
$total=1;
回声$a.“
”;
}
其他的
{
$total++;
回显“相同信息
”;
}
如果(isset($arr[$key+1])&&$arr[$key+1]!=$a | |!isset($arr[$key+1]))
回显“总计”。$Total.“
”;
}
为了测试下一个元素是否存在,我在foreach外观上添加了$key
,每个迭代中的下一个元素是$arr[$key+1]
foreach ($arr as $key => $a)
{
$c = $a;
if ($c != $f)
{
$f = $c;
$total = 1;
echo $a . "<br>";
}
else
{
$total++;
echo 'Same Info <br>';
}
if(isset($arr[$key+1])&&$arr[$key+1]!=$a || !isset($arr[$key+1]))
echo "Total " . $total . "<br>";
}