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