我有一个数组,里面有另一个数组,但是当我从数据库中得到响应时,我有重复的数组,而我不想这样做,有什么帮助吗? 我已经使用了链接中提供的解决方案,但它不起作用 “警告:输入错误的偏移量”
$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);
答案 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
布尔值来弄乱元素;