Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多维数组中查找重复项并回显它们_Php_Multidimensional Array_Foreach_Array Unique - Fatal编程技术网

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 ;
}