当前位置:  开发笔记 > 编程语言 > 正文

如何计算php中的重复数组值?

如何解决《如何计算php中的重复数组值?》经验,为你挑选了1个好方法。



1> Rizier123..:

这应该适合你:

这里我首先array_slice()用来获取迭代当前元素之前的所有元素的数组,例如

iteration value   |  sliced array
-----------------------------------
     sara         |       []
     jorj         |     [sara]

然后我使用这个数组array_filter(),只保持值等于当前迭代值,所以我可以告诉当前值之前数组中有多少相同的值.

现在我只需要有count()多少,如果有多于1,我们也会在输出中打印它.

码:

$arr = array('sara','jorj','sara','sara','jorj','eli','ana');

foreach($arr as $key => $name) {
    $count = count(array_filter(array_slice($arr, 0, $key), function($v)use($name){
       return $v == $name;
    })) + 1;

   echo $name . ($count > 1 ? " - $count" : "") . PHP_EOL;
}

输出:

sara
jorj
sara - 2
sara - 3
jorj - 2
eli
ana

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有