使用in_array()比较两个数组时出错

时间:2014-12-13 18:21:50

标签: php html mysql pdo

我有一个数组,其中包含我朋友的所有细节(通过MySQL选择ALL)和另一个包含团队中所有人的所有详细信息的数组。现在,我想在HTML选择列表中显示我的所有朋友,但我不想要已经成为团队成员的朋友。显示在选择列表中。

我尝试使用in_array(),但我没有得到任何结果。我的所有朋友仍然出现在选择列表中,尽管他们中的一些人已经是“团队”的一员。

这是代码:

<form action="tmembers.php" method="post">    
    <select multiple="true" name="members[]"  val id="member" class="">    
        <?php
        while($record5 = $stmt5->fetch()){    
            $friends[] = $record5;      //array containing details of all friends
        }
        while($record6 = $stmt6->fetch()){   
            $membersarray[] = $record6;  //array containing details of team members
        }

        foreach ($friends AS $t) {
            if (in_array($t, $membersarray)) {
               continue;            
            } 
        ?>

        <option value="<?php echo $t['id'] ; ?>">  
            <?php echo $t['surname'];?> <?php echo $t['firstname'] ; ?>  
        </option>

        <?php } 
        ?>

        </select>
        </br>
        <input type="submit" value="Send Invite" name="invite" class=""/>
   </form> 

2 个答案:

答案 0 :(得分:0)

使用此

for($i=0;$i<count($friends);$i++) {
    if (in_array($friends[$i], $membersarray)) {
       continue;            
    } 
}

答案 1 :(得分:0)

$arraysAreEqual = ($a == $b); // TRUE if $a and $b have the same key/value pairs.
$arraysAreEqual = ($a === $b); // TRUE if $a and $b have the same key/value pairs in the same order and of the same types.

请参阅Array Operators

不等式运算符为!=,而非标识运算符为!==以匹配相等性 运算符==和标识运算符===