从range()函数中排除数字

时间:2015-06-03 12:13:11

标签: php arrays numbers range

我正在使用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。

1 个答案:

答案 0 :(得分: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>';
}
?>