【发布时间】:2019-10-08 13:04:22
【问题描述】:
我正在尝试从数组中获取那些在数组中重复 N 次的值。我知道这听起来很混乱。举个例子吧:
我有一个数组作为 $filter:
array[
0 => "556878",
1 => "12345",
2 => "12345",
3 => "234567",
4 => "45673",
5 => "45673"
]
如果您可以看到 12345 重复 2 次strong>。 45673 也是如此。
我想创建一个函数,或者如果 PHP 中已经存在,它可以帮助我只获取那些重复 N 次的值。就像上面的例子一样,值 12345 和 45673 重复了 2 次。因此,如果我将 2 作为参数提供给如下函数:
getNtimes($filter,2)
它会回来的:
array[
0 => "12345",
1 => "45673"
]
我正在寻找最有效的方法来获得想要的结果。谁能帮我解决这个问题?
提前致谢。
【问题讨论】:
-
只需运行循环并将值保存在另一个数组中并返回它们:/
-
我很高兴你选择了我的答案,但即使看起来更长,Alives 的答案也更有效、更快。我的代码做了“三个”循环,他只做了两个。
-
很奇怪,你的答案对我来说工作得更快:P。无论如何谢谢:)
-
我可以看到这种情况可能发生在较小的数组上,但是一旦你开始加载这两个函数,我很确定 Alives 的回答会更快。或者您是否一个接一个地在同一个文件中测试它们?这也可以产生影响。
标签: php arrays function arraylist filter