2016-07-22 26 views
2

我遇到了我的陣列有問題,我的selectoption值的基數爲$a。我需要做什麼來在我的代碼補充,這樣,如果$a具有$b相等的值,選擇將是hiddenPhp循環數組隱藏選項在一個`select`中

我的陣列

$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> 

回答

0

試試這個 -

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

     ?> 
      <option> value="<?php echo $i; ?>" > 
       <?php echo i?> 
      </option> 
      <?php }} ?> 
     </select> 
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

你只需要檢查,如果值是不是在$ B陣列這樣

$ A =陣列( 「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> 
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>