Php 在多维数组中查找重复项并回显它们
我想在多维数组中找到重复项,然后回显哪个有重复项,哪个没有重复项。我试过这个代码Php 在多维数组中查找重复项并回显它们,php,multidimensional-array,foreach,array-unique,Php,Multidimensional Array,Foreach,Array Unique,我想在多维数组中找到重复项,然后回显哪个有重复项,哪个没有重复项。我试过这个代码 $teams = array ( "grupp_A" => array('Arsenal','Arsenal','Barcelona'), "grupp_B" => array('Milan','Man United','Barcelona'), "grupp_C" => array('Juventus','Barcelona','Barcelona'), "grupp
$teams = array
(
"grupp_A" => array('Arsenal','Arsenal','Barcelona'),
"grupp_B" => array('Milan','Man United','Barcelona'),
"grupp_C" => array('Juventus','Barcelona','Barcelona'),
"grupp_D" => array('Arsenal','Man United','Barcelona')
);
foreach ( $teams as $key => $val ) {
foreach($val as $k => $v) {
if(count(array_unique($k))<count($k))
{
echo "Array: $v has duplicates<br>";
}
else
{
echo "Array: $v does not have duplicates<br>";
}
}
}
但结果应该是这样的
Array: grupp_A has duplicates
Array: grupp_C has duplicates
Array: grupp_B does not have duplicates
Array: grupp_D does not have duplicates
我陷入困境,不知道自己做错了什么,需要一些帮助
我按照建议用in_数组尝试了这段代码
foreach ( $teams as $key => $val ) {
if (in_array($key, $val)) {
echo "Array: $key has duplicates<br>";
}
else
{
echo "Array: $key does not have duplicates<br>";
}
}
稍近一点,但还没有。我喜欢你独特的
数组方法,很抱歉把我关于数组中的评论推给你
foreach ($teams as $key => $val) {
if (count(array_unique($val)) == count($val)) {
echo $key . " has no duplicates" . PHP_EOL;
} else {
echo $key . " has duplicates" . PHP_EOL;
}
}
当您聚合俱乐部时,只有一个循环就足够了:
foreach($teams as $group => $clubs)
{
if( count(array_unique($clubs)) < count($clubs) )
echo "Group $group has duplicates" . PHP_EOL ;
else
echo "Group $group has no duplicates" . PHP_EOL ;
}
foreach($group=>$clubs的团队)
{
if(计数(数组_唯一($clubs))
输出:
grupp_A组有重复项
grupp_B组没有重复项
grupp_C组有重复项
grupp_D组没有重复项
在数组中使用怎么样?我已经编辑了我的帖子。有点近了,但还没到。有什么建议吗?谢谢!我想我必须做两个循环,因为这是一个多维数组。PHP_EOL在做什么?以前从未见过。这是一个与平台无关的“行尾”常量。它将在Windows上转换为“\r\n”,在Unix上转换为“\n”…没有问题。总是很好的摆弄和学习更多的东西。正如我问Joffrey的,什么是PHP_EOL?以前从未见过?这是php版本的
foreach ($teams as $key => $val) {
if (count(array_unique($val)) == count($val)) {
echo $key . " has no duplicates" . PHP_EOL;
} else {
echo $key . " has duplicates" . PHP_EOL;
}
}
foreach($teams as $group => $clubs)
{
if( count(array_unique($clubs)) < count($clubs) )
echo "Group $group has duplicates" . PHP_EOL ;
else
echo "Group $group has no duplicates" . PHP_EOL ;
}