如何在会话数组php中检测重复值?

时间:2011-10-20 14:27:05

标签: php html

我正在创建一个学生主题预约,它将从表格​​行添加主题。我想检测是否存在重复值,然后在检测到值时回显。

例如,给定以下数组:

$c=0;

        while($c<=$counter){
            if($_SESSION["S['$c']"]==""){
            echo "-";
            }
        $array1=array($_SESSION["lect['$c']"],$_SESSION["labt['$c']"],$_SESSION["Day['$c']"] ,$_SESSION["lday['$c']"]);
        if(count(array_unique($array1))<count($array1)){
            echo "Duplicate entry found in array";
        }
        else{
                    echo "<tr><td>".$_SESSION["S['$c']"] . " </td>
                <td>".$_SESSION["lec['$c']"] . "<br/>".$_SESSION["lab['$c']"] . "</td>
                <td>".$_SESSION["lect['$c']"] . "<br/>".$_SESSION["labt['$c']"] . "</td>
                <td>".$_SESSION["Day['$c']"] . "<br/>".$_SESSION["lday['$c']"] . "</td>
                <td>".$_SESSION["room['$c']"] . "<br/>".$_SESSION["lroom['$c']"] . "</td></tr><br>";
             $unit=$_SESSION["lec['$c']"] + $_SESSION["lab['$c']"];
               $units= $units+$unit;
        }

但是当我添加相同的值时,该值将再次添加,但是当我添加另一个时,它会显示echo“在数组中找到重复的条目”;我哪里错了?抱歉我的英语不好,如果我的代码错了,请提前给我一些建议

这是一个很好地添加到另一个表的click事件:

$i=0;
$b =1;
while($row=mysql_fetch_assoc($sql) ){


echo "<tr><td>".$row['Subject']."<input type='hidden' name='subj[$i]' value=".$row['Subject']."></td>
<td>".$row['Lec']."<br/>".$row['Lab']."<input type='hidden' name='leclab[$i]' value=".$row['Lec']."><input type='hidden' name='lab[$i]' value=".$row['Lab']."></td>

<td>".$row['Descriptive']."<input type='hidden' name='desc[$i]' value=".$row['Descriptive']."></td>
<td>".$row['Day']."<br/>".$row['Labday']."<input type='hidden' name='daylabday[$i]' value=".$row['Day']."><input type='hidden' name='labday[$i]' value=".$row['Labday']."></td>

<td>".$row['LecTime']."<br/>".$row['LabTime']."<input type='hidden' name='lectlabt[$i]' value=".$row['LecTime']."><input type='hidden' name='labtime[$i]' value=".$row['LabTime']."></td>

<td>".$row['Room']."<br/>".$row['Labroom']."<input type='hidden' name='roomlabroom[$i]' value=".$row['Room']."><input type='hidden' name='labroom[$i]' value=".$row['Labroom']."></td>

<td><input id='send' name='reserv[$i]' type='submit' value='Add' onclick='addRow('myTable')' /> </td></tr>";

$i++;


}
}

这是输出的示例,但我想要的是用表格中添加的相同值来回显错误我如何防止它?

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以首先使用array_uniquearray_diff进行混合以清除重复项,然后进行差异以获取仅包含重复值的数组

答案 1 :(得分:0)

array_count_values()会计算重复的值。那么你可以filter out那些计数为1的人,看看哪些是重复的