2015-06-03 51 views
0

我使用范围(20,60)动态地使用20到60的数字 填充选择框。排除范围()函数中的数字

<select name="rangenumbers"> 
    <?php $range = range(20, 60); 
     foreach ($range as $range) { 
      echo '<option value="'.$range.'">'.$range.'</option>'; 
     } 
    ?> 
</select> 

我有返回数字数组像

$a = array(25, 30 , 31, 50); 

我需要填充与数字,选择框从阵列中的20至60不包括数的函数:25,30,31 ,50

+0

'如果($范围== 25)/ *为前充足的*/{//什么也不做} else {//做任何事情}'。或者更好'if(in_array($ range,$ a))...' – Andrew

+0

尝试: - ''输出: - ?'的http:// prntscr.com/7cm5q6' –

回答

1

您可以使用array_diff()功能:

<?php 
$range = range(20, 60); 
$a = array(25, 30 , 31, 50); 

// the array_diff() function returns the values in the "$range" array 
// that are not present in the array of "$a". 
$allRanges = array_diff($range, $a); 

foreach ($allRanges as $range) { 
    echo '<option value="'.$range.'">'.$range.'</option>'; 
} 
?>