如何在php中检查匹配的数组值?

如何在php中检查匹配的数组值?,php,arrays,loops,for-loop,foreach,Php,Arrays,Loops,For Loop,Foreach,嗨,我在数组值中有一个重复日期,我想从数组值中计算重复日期的数量。我尝试了这一点,但不确定是否正确,并且得到错误未定义的偏移量:0 <?php $array = array('2013-11-28','2013-11-28','2013-11-28','2013-11-29','2013-11-29','2013-11-30'); $len = sizeof($array); $len = $len-1; $day = array(); for($i=0; $i<=$len; $i

嗨,我在数组值中有一个重复日期,我想从数组值中计算重复日期的数量。我尝试了这一点,但不确定是否正确,并且得到错误
未定义的偏移量:0

<?php $array = array('2013-11-28','2013-11-28','2013-11-28','2013-11-29','2013-11-29','2013-11-30');

$len = sizeof($array);
$len = $len-1;
$day = array();
for($i=0; $i<=$len; $i++)
{
    for($j=0; $j<=$len; $j++)
    {
        if($array[$i] == $array[$j])
        {
            if($day[0] == '')
            {
                $co = 1;
                $day[] = $co;
            }
            else {
                $day[$i] = $co++;
            }
        }
    }
    echo 'day'.$i.' '.$day[$i].' ';
}
?>

从日期值中,我应该得到2013-11-28的3次,2013-11-29的2次,2013-11-30的1次,正如您所见,2013-11-28呈现了3次,2013-11-29呈现了2次,并且 2013年11月30日为一次

我可以理解我的计算是错误的,因为在第二个循环中,我再次从第一个索引开始,所以增加了计数

我想知道相同日期的计数。如何做到这一点。还有其他方法计算吗?需要帮忙吗

使用


这将为您提供一个数组,其中值是键,新值是重复计数。

要分组和计数吗?如
2013-11-28=3
2013-11-29=2
2013-11-30=1
?$len=sizeof($array);使用$len=count($array)@SHIN
sizeof
count
是等效的。错误是因为
if($day[0]='')
。您在向
$day
添加任何内容之前执行此操作,因此还没有元素0。是的,谢谢+1表示sizeof,计数@BarmarThanks表示简单答案。这也可以在我的循环逻辑中实现吗@alex@sun你不需要把自己圈起来。
$dupesCount = array_count_values($array);