从另一个数组中的数组中删除重复项

时间:2019-09-25 14:08:12

标签: php

我有一个数组,里面有另一个数组,但是当我从数据库中得到响应时,我有重复的数组,而我不想这样做,有什么帮助吗? 我已经使用了链接中提供的解决方案,但它不起作用 “警告:输入错误的偏移量”

enter image description here

        $atividadesArray = array();
    foreach ($result as $row) {
        $idAtividade = $row['idAtividade'];
        if (!isset($atividadesArray[$idAtividade])) {
            $atividadesArray[$idAtividade]['idAtividade'] = $row['idAtividade'];
            $atividadesArray[$idAtividade]['Periodo'] = $row['Periodo'];
            $atividadesArray[$idAtividade]['Mes'] = $row['Mes'];
            $atividadesArray[$idAtividade]['haveClasses'] = $row['haveClasses'];
            $atividadesArray[$idAtividade]['Destinatarios'] = $row['Destinatarios'];
            $atividadesArray[$idAtividade]['Nome'] = array();
            $atividadesArray[$idAtividade]['Grupo'] = array();
            $atividadesArray[$idAtividade]['Departamento'] = array();

        }
        $atividadesArray[$idAtividade]['Nome'][] = $row['Nome'];
        $atividadesArray[$idAtividade]['Grupo'][] = $row['Grupo'];
        $atividadesArray[$idAtividade]['Departamento'][] = $row['Departamento'];
    }
    foreach ($atividadesArray as $idAtividade => $t ) {
        $json[]=$t;
    }
   echo json_encode($json);

1 个答案:

答案 0 :(得分:1)

如果该项目已经存在于数组中,则不要添加该项目:

...
  // Search for the element in the array
  if (array_search($row['Departamento'], $atividadesArray[$idAtividade]['Departamento']) === false) {
    // Add only if nothing found
    $atividadesArray[$idAtividade]['Departamento'][] = $row['Departamento'];
  }

请注意,===运算符必须不要用键0(第一个添加的)和false布尔值来弄乱元素;