如果找到匹配项,则比较两个数组

时间:2016-08-09 04:24:12

标签: php arrays checkbox associative-array

我有两个数组,一个是类别,另一个是categories_two类别数组包含表格中的所有类别,categories_two包含所选类别(在添加现在要用于更新的项目时选择)

<div class="col-sm-10">
  <?php 
     foreach ($categories as $c) {
  ?>

    <div class="i-checks"><label> <input type="checkbox" value="<?=$c->category_id?>" name="categories[]"> <i></i> <?=$c->category_name?> </label></div>
  <?php

    }
  ?>

</div>

我有所选的类别**所以现在我想勾选所选的类别。怎么做?**在categories_two我有类别的ID

array(
          [0] => category_id;
          [1] => category_id;
          [2] => category_id;


     )

3 个答案:

答案 0 :(得分:1)

使用in_array()

<div class="col-sm-10">
    <?php 
        foreach ($categories as $c) {
    ?>

    <div class="i-checks"><label> <input type="checkbox" value="<?=$c->category_id?>" name="categories[]" <?php if(in_array($c->category_id, $categories_two) {echo "checked"})?>> <i></i> <?=$c->category_name?> </label></div>
    <?php

        }
    ?>

    </div>

答案 1 :(得分:0)

您需要检查category_two中类别的存在。例如,如果要选择发布的类别,请在代码中查看以下内容: -

<div class="col-sm-10">
  <?php 
     foreach ($categories as $c) {
  ?>

    <div class="i-checks"><label> <input type="checkbox" value="<?=$c->category_id?>" name="categories[]" <?=(in_array($c->category_id, $_POST['categories']) "SELECTED" : "")?> <i></i> <?=$c->category_name?> </label></div>
  <?php

    }
  ?>

</div>

如果要选择category_two,则它取决于category_two中排列的数据。

答案 2 :(得分:0)

我认为您需要检查两个数组并选择第二个数组中的复选框。您可以使用以下代码来选择它。

<?php 
    foreach($category as $c){
     $selected = false; 
    foreach($category_two as $c_two){
      if($c===$c_two){
        $selected=true;
      }
    } ?>
    <div class="i-checks"><label> <input type="checkbox" value="<?=$c->category_id?>" name="categories[]" <?php echo $selected?'checked="checked":'';?>/> <i></i> <?=$c->category_name?> </label></div>
    <?php } ?>