php - 使用php过滤掉数组中的重复值

请帮助我使用 php.Consider 过滤掉数组中的重复值,

$arr1 = array('php','jsp','asp','php','asp')

这里我宁愿只打印

array('php'=>2,
       'asp'=>2)

试过

print_r(array_count_values($arr1));

但是,它获取每个元素的计数。

最佳答案

好的,在评论和重读你的问题之后,我明白你的意思了。使用 array_count_values() 就差不多了:

$arr1 = array('php','jsp','asp','php','asp');
$counts = array_count_values($arr1);

您只需删除显示为仅出现一次的条目:

foreach ($counts as $key => $val) {
    if ($val == 1) {
        unset($counts[$key]);
    }
}

编辑:不想循环?使用 array_filter() 代替:

// PHP 5.3+ only
$counts = array_filter($counts, function($x) { return $x > 1; });

// Older versions of PHP
$counts = array_filter($counts, create_function('$x', 'return $x > 1;'));

https://stackoverflow.com/questions/3583558/

相关文章:

php - 永久登录

objective-c - 如何将 self 作为方法参数传递?

iphone - CFBundleExecutable 错误

maven-2 - 为什么 Maven2 在每次构建时检查 stax-ex 的更新?

vim - 如何指定文件的缩进?

sql - Informix 7.3 - 声明日期列数据类型,默认为插入/更新时的当前日期

iphone - 如何确保浮点值始终是 0.25 的倍数?

c# - 使用 Web 应用程序管理定时事件的首选方法是什么?

.net - 来自非托管代码的 System.AccessViolationException?

macos - 如何为 Mac OS X 制作可启动 DVD?