如何删除关联数组

时间:2015-06-22 07:11:00

标签: php arrays string associative-array

我有一个关联数组。如果值首先出现,我想删除重复值。假设首先出现DC-30,删除关联数组中的所有DC-30。如果已经显示HSD-M,请删除关联数组中的所有HSD-M。我在while($row = mysql_fetch_assoc($result))做了所有这些,如果这有任何区别的话。这里有什么帮助吗?

string(5) "DC-30" 
string(5) "DC-30" 
string(10) "GigaDigHD2" 
string(11) "Turbo-Frame" 
string(5) "HSD-M" 
string(5) "HSD-M" 
string(5) "HSD-M" 
string(5) "HSD-M"

编辑:这些数组值不是硬编码的。它们来自数据库中的表,这就是我想删除重复值的原因。

通缉输出是:

string(5)  "DC-30" 
string(10) "GigaDigHD2" 
string(11) "Turbo-Frame" 
string(5)  "HSD-M"

第二次编辑:

while($row = mysql_fetch_assoc($result))
{
    $tester_name = $row['tester_name'];
    $board_name = $row['board_name'];
    $config = $row['config'];
    $req_config = $row['configuration'];

    echo $bomb = array_unique($board_name, SORT_REGULAR); //Edited here

    $ex_req_config = explode(",", $req_config);
    $count_req_config =  count($ex_req_config);

    $match = 0;

    foreach($ex_req_config as $value)
    {
        $number = strlen($value);
        $arr = str_split($value, $number);

        if(in_array($config, $arr))
        {
            $match += 1;
            $match /= ($count_req_config / 100);
        }
    }

    /*  echo "<tr class = \"thisRow\">
                <td></td>
                <td></td>
                <td class = \"match\">$match%</td>
             </tr>";*/
}

1 个答案:

答案 0 :(得分:0)

如果查询本身内的分组不是一个选项,则在循环开始之前初始化一个数组并在循环内对其进行管理:

$boards = [];

while ($row = mysql_fetch_assoc($result)) {
    // ...
    $boards[$board_name] = $board_name;
}

在循环结束时$boards将是一个包含所有唯一值的数组。