1

我正在尝试从数组中删除重复项。正如您在下面看到的,代码的结果列表包含两个 Sugar 和 Coffee 事件。我该怎么做才能有效地从列表中删除重复项?(此代码实际上要长得多,包含 400 多个元素)。

<?php    
     $FoodList = array();
     $zb = Milk
     $cd = Bread
     $dc = Orange
     $ce = Apple
     $ec = KiwiFruit
     $cg = GrapeFruit
     $gc = Cucumber
     $ch = Biscuit
     $hc = Caramel
     $dv = Juice
     $ci = SoftDrink
     $ic = Banana
     $cj = Tea
     $cl = Sugar
     $jc = Coffee 
     $ck = Yoghurt
     $kc = Pizza Base
     $lc = Tuna

     if ($_POST['Dairy'] == 'Yes') { //Radio check box
         array_push($FoodList, $zb, $cd, $dc, $ce, $ec);
     }
     if ($_POST['GlutenFree'] == 'Yes') {
         array_push($FoodList, $cg, $gc, $ch, $hc, $dv);
     }
     if ($_POST['Fruit'] == 'Yes') {
         array_push($FoodList, $ci, $ic, $cj, $jc, $cl);
     }
     if ($_POST['Sweets'] == 'Yes') {
         array_push($FoodList, $jc, $ck, $kc, $cl, $lc);    
     }
     foreach ( $FoodList as $key => $value ) {
         echo "<li>" . $value . "</li>";
     }
     echo "</ul>";
}
?>

太感谢了

4

2 回答 2

5

使用array_unique函数从数组中删除重复值。

于 2013-09-11T05:24:51.383 回答
3

尝试这个,

$FoodList=array_unique($FoodList);
if(!empty($FoodList))
{
    $str="<ul>";
    foreach ($FoodList as $key => $value)
    {
       $str.="<li>" . $value . "</li>";
    }
    $str.= "</ul>";
    echo $str;
}
于 2013-09-11T05:28:00.060 回答