【问题标题】:Excluding numbers from range() function [duplicate]从 range() 函数中排除数字
【发布时间】:2015-06-03 12:13:10
【问题描述】:

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

【问题讨论】:

  • if ($range == 25) /* for example */ { //do nothing } else { //do whatever }。或者更好if (in_array($range, $a))...
  • 尝试:- &lt;select name="rangenumbers"&gt; &lt;?php $a = array(25, 30 , 31, 50);?&gt; &lt;?php $range = range(20, 60); foreach ($range as $range) { if(!in_array($range,$a)){ echo '&lt;option value="'.$range.'"&gt;'.$range.'&lt;/option&gt;'; } } ?&gt; &lt;/select&gt; 输出:- http://prntscr.com/7cm5q6

标签: php arrays numbers range


【解决方案1】:

你可以使用@987654321@函数:

<?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>';
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    相关资源
    最近更新 更多