Php循环数组以隐藏“select”中的选项

时间:2016-07-22 04:26:32

标签: php arrays

我的 select 我的数组出了问题。 option 值来自 $a 。我需要添加我的代码,以便 $a $b 具有相同的值时,将是 hidden

我的阵列

$a = array("1","2","3","4","5","6");
$b = array("2","4","6");

<select>
  <?php foreach ($a as $i) {?>
    <option> value="<?php echo $i; ?>" >
      <?php echo i?>
    </option>
  <?php } ?>
</select>

4 个答案:

答案 0 :(得分:1)

您可以尝试

    <?php 
       $a = array("1","2","3","4","5","6");
       $b = array("2","4","6"); ?>


         <select>
            <?php foreach ($a as $i) {

              if (!in_array($i,$b)) {?> 
                <option  value="<?php echo $i; ?>" >
                <?php echo $i?>
                 </option>

           <?php }} ?>
         </select>

http://www.w3schools.com/php/func_array_in_array.asp

答案 1 :(得分:1)

你只需要检查这些值是否不是这样的$ b数组

$a = array("1","2","3","4","5","6");
$b = array("2","4","6");

<select>
    <?php foreach ($a as $i) {
      if(!in_array($i,$b)){
      ?>
        <option> value="<?php echo $i; ?>" >
          <?php echo i?>
        </option>
      <?php } 
      } ?>    
</select>

答案 2 :(得分:1)

您可以in_array检查存在的数组值,如果存在于数组b

中,则将隐藏属性添加到元素中
<select>
  <?php 
  foreach ($a as $i) {
      if(in_array($i,$b)){
            echo '<option value="$i" hidden>';
        }
        else{
            echo '<option value="$i">';
       }
     echo $i.' </option>';
    }
   ?>
</select>

答案 3 :(得分:0)

试试这个 -

 <select>
          <?php foreach ($a as $i) {
        if(!in_array($i, $b)) {  

        ?>
            <option> value="<?php echo $i; ?>" >
              <?php echo i?>
            </option>
          <?php }} ?>
        </select>