in_array()方法对数组元素的PHP PDO比较不起作用

in_array()方法对数组元素的PHP PDO比较不起作用,php,mysql,arrays,compare,Php,Mysql,Arrays,Compare,我需要使用in_array方法将一个数组中的元素与另一个数组中的元素进行比较: $oldAttachedObjs = array();//this array need to be compare with single element of other loop $sqlObjAttached = "SELECT sno,ins_sno,obj_sno FROM cases_objections WHERE ins_sno = :ins_sno"; $paramObj = arra

我需要使用in_array方法将一个数组中的元素与另一个数组中的元素进行比较:

$oldAttachedObjs = array();//this array need to be compare with single element of other loop     

$sqlObjAttached = "SELECT sno,ins_sno,obj_sno FROM cases_objections WHERE ins_sno = :ins_sno";
$paramObj = array(':ins_sno'=>$ins_sno);

if($db->dbQuery($sqlObjAttached,$paramObj)){
    foreach($db->getRecordSet($sqlObjAttached,$paramObj) as $o){
        $oldAttachedObjs[] = $o;
    }//foreach()
}
现在,我想在下面的循环中将上述数组元素与迭代循环中的每个元素进行比较

<?php 
    $sqlChildren = "SELECT sno,obj_sno,child_lbl FROM list_objection_children WHERE is_active = 1 AND obj_sno = :obj_sno ORDER BY sno ASC";                                    
    $param = array(':obj_sno'=>$obj['sno']);                               

    if($db->dbQuery($sqlChildren,$param)){
        foreach($db->getRecordSet($sqlChildren,$param) as $ch){
?>

<ul class="obj_ul">
    <li>
         <div class="checkbox checkbox-primary">
         <?php print_r($oldAttachedObjs[0]); ?>
             <input type="checkbox" <?php if(in_array($ch['sno'],$oldAttachedObjs['obj_sno'])){ ?> checked <?php //} ?> value="1" id="chk_<?php echo($ch['sno']);?>" name="chk_<?php echo($ch['sno']);?>" class="styled">
             <label style="font-weight: normal !important;" for="chk_<?php echo($ch['sno']);?>"><?php echo($ch['child_lbl']); ?></label>
         </div>
    </li>
</ul>

<?php
        }//foreach()
    }
?>

但是我没有运气进行比较,因为数组包含了另一个数组,我现在不知道该怎么办?

您需要循环父数组以与内部数组进行比较

foreach($oldAttachedObjs as $objs){
    if(in_array('what you are looking for', $objs){
        //it is in the array, do what you want
    }else{
        //it is not in the array, deal with it accordingly
    }
}

通过这种方式,您可以检查您要查找的内容是否在从数据库中获得的结果中

上面的数组是$ch?或者上面的数组是$oldAttachedObjs?$oldAttachedObjs是上面的数组..很高兴!祝你好运
foreach($oldAttachedObjs as $objs){
    if(in_array('what you are looking for', $objs){
        //it is in the array, do what you want
    }else{
        //it is not in the array, deal with it accordingly
    }
}