以编程方式删除数据库字段上的重复项

时间:2014-12-04 13:46:25

标签: php mysql group-by distinct duplicate-removal

我在数据库端正确输出了查询,但我的php没有根据education_id显示每个不同的组名

现在已修复。问题在于我的数据库选择中的选择器,当在我的php函数中使用时。

2 个答案:

答案 0 :(得分:2)

如果您想在MySQL中执行此操作,可以在查询中使用"Distinct""Group by"。 (推荐)

订购时,您可以使用"Order by"

但如果您想在PHP中执行此操作,则可以使用"array_unique"

答案 1 :(得分:0)

你应该使用array_unique() - 从数组中删除重复的值

像这样:

.
.
.
    $qresults = mysql_query($query);
    while($row = mysql_fetch_array($qresults)) {
        $results[] = $row;
    }

    $results = array_unique($results);
    return $results;
}

如果你想摆脱数组中有数字作为键的元素,只保留带字符串作为键的元素,只需使用:

foreach($array as $key1=>$arr) {
    foreach($arr as $key3=>$value) {
        if(is_numeric($key)) {
            unset($array[$key1][$key3]);
        }
    }
}

这将显示如下:

Array
(
    [1] => Array
        (
            [Pathway_ID] => 54
            [Master_ID] => 6
            [Group_ID] => 26
            [Job_Outlook] => in demand
            [type] => Education
            [Ed_Name] => High School Diploma or GED
            [Education_ID] => 4
            [Career_Name] => Industrial Production Managers - Maintenance
            [Order #] => 2
            [GroupName] => Facility Maintenance Workers
            [EntryWage] => 9.71-11.96
            [MedianWage] => 18.30-21.56
            [Job_Title] => Installation, Maintenance, and Repair Workers, All Other
        )

)

假设$array是一个类似问题中提供的数组。