PHP Form Select Array Increments by Value Threshold?


PHP Form Select Array Increments by Value Threshold?

我可以选择不选择从50000到75000000的硬编码形式值,增量为100000。

<select name="<?php echo $search_parameter; ?>" id="<?php echo $search_parameter; ?>" class="form-control">
<option value=""><?php echo __( $search_labels[$i], 'tt' ); ?></option>
<?php for( $j = 50000; $j <= 75000000; $j += 50000 ) : ?>
<option value="<?php echo $j; ?>"><?php echo number_format( $j ); ?></option>
<?php endfor; ?>
</select>

这节省了很多时间。我想进一步定制它,但除了硬编码之外,我真的没有其他地方可以开始——这似乎是一种倒退?

我如何让PHP根据$j阈值的值自动执行不同的增量?这可能吗?还是我要求太多了?

  • 50000-500000-50k增量
  • 500001-1000000-100000增量
  • 1000001-5000000-500000增量
  • 5000001-10000000-100万增量
  • 1000万+1000万增量

这是一种非常简单的方法,但应该适合您:

<?php 
$inc = 50000;
for( $j = 50000; $j <= 75000000; $j += $inc) : ?>
    <option value="<?php echo $j; ?>"><?php echo number_format( $j ); ?></option>
    <?php 
    if ($j>10000000) {$inc=10000000;}
    elseif ($j>5000000) {$inc=1000000;}
    elseif //and so on...
endfor; ?>

请注意,我们是"从顶部"进行比较,因此只需要少量的比较/分配。

另一种可能性是在一个额外的数组中定义阈值和增量,并在每个循环中对其进行评估。

编辑:添加了两个缺失的; s。