Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中是否可以将一个随机值插入一个范围?_Php_Html_Range - Fatal编程技术网

在php中是否可以将一个随机值插入一个范围?

在php中是否可以将一个随机值插入一个范围?,php,html,range,Php,Html,Range,我感兴趣的是为html下拉菜单创建一系列数字值,范围从18到75。我的客户要求在数字29和30之间,我用“选择”值中断范围,这将是默认选项 我不认为这是必要的,但我想我会玩玩,看看这是否可能。这个范围已经创建好了,所以现在我必须找到一种方法,将“Choose”可靠地插入到它的中间。我已经尝试了一些基于谷歌搜索和函数手册中的注释的东西,所以现在我转向堆栈。谢谢你的建议 编辑:这是代码 <?php $age = range(18, 75); echo ( '<select class="

我感兴趣的是为html下拉菜单创建一系列数字值,范围从18到75。我的客户要求在数字29和30之间,我用“选择”值中断范围,这将是默认选项

我不认为这是必要的,但我想我会玩玩,看看这是否可能。这个范围已经创建好了,所以现在我必须找到一种方法,将“Choose”可靠地插入到它的中间。我已经尝试了一些基于谷歌搜索和函数手册中的注释的东西,所以现在我转向堆栈。谢谢你的建议

编辑:这是代码

<?php
$age = range(18, 75);
echo ( '<select class="dropdown nextPanel" name="age">' );
    foreach ($age as $option){
        echo ( "<option value='".$option."'>".$option."</option>" );
    }
echo ( '</select>' );
?>


另一个编辑:废话,我想我是想打断一个foreach。

数组拼接不应该工作吗

 $myarr = range( $start, $end );
 array_splice( $myarr, round( count( $myarr ) / 2 ), 0, 'Choose');

阵列拼接
不应该工作吗

 $myarr = range( $start, $end );
 array_splice( $myarr, round( count( $myarr ) / 2 ), 0, 'Choose');
if($rangevalue==29){
回应“选择”;
}
也许我错过了什么

希望有帮助

if($rangevalue==29){
回应“选择”;
}
也许我错过了什么

希望有帮助

那么您已经得到了范围(使用
范围(18,75)
?)并希望插入
在29和30之间选择

$pos = array_search(29, $range); // returns the index of 29
array_splice($range, $pos+1, 0, array('Choose'));
这将在
$range
中的值
29
之后插入'Choose'

如果你只想在打印的时候做,你可以先看看ehudokai的答案

编辑:如果您只想在选项编号29后插入“选择”选项,并将其设置为选择中的默认选项:

foreach($range as $v) {
    if($v == 30) {
        echo "<option value='choose' selected='selected'>Choose</option>";
    }
    echo "<option value='$v'>$v</option>";
}
foreach($v范围){
如果($v==30){
回应“选择”;
}
回声“$v”;
}
这样,它仍然会打印出常规选项,但当遇到选项
30
时,它会首先打印出默认的
choose
选项,并将其标记为选中。

这样您就得到了范围(使用
range(18,75)
?)并希望在29和30之间插入
choose

$pos = array_search(29, $range); // returns the index of 29
array_splice($range, $pos+1, 0, array('Choose'));
这将在
$range
中的值
29
之后插入'Choose'

如果你只想在打印的时候做,你可以先看看ehudokai的答案

编辑:如果您只想在选项编号29后插入“选择”选项,并将其设置为选择中的默认选项:

foreach($range as $v) {
    if($v == 30) {
        echo "<option value='choose' selected='selected'>Choose</option>";
    }
    echo "<option value='$v'>$v</option>";
}
foreach($v范围){
如果($v==30){
回应“选择”;
}
回声“$v”;
}

这样,它仍然会打印出常规选项,但当遇到选项
30
时,它会首先打印出默认的
选择
选项,并将其标记为选中。

@RobertPitt更接近答案,特别是包含了代码。我之前玩过这个,但它不允许将“Choose”设置为默认值。必须有一种更有效的方法。不过,谢谢。@RobertPitt这更接近于答案,尤其是包含了代码。我之前玩过这个,但它不允许将“Choose”设置为默认值。必须有一种更有效的方法。不过,谢谢。这似乎不管用,但乍一看,这似乎是个好主意。也许我实施错了。。。我再试试看。谢谢你的建议,如果我能让它工作的话,我会给你回电话的。这似乎不起作用,但乍一看,这似乎是个好主意。也许我实施错了。。。我再试试看。谢谢你的建议,如果我能让它工作,我会给你回复的。我已经成功地在范围内插入了Choose而没有问题,但这仍然不允许我将其设置为默认选项。我也试过ehudokai的答案(一旦我看到它,这似乎是一个显而易见的解决方案),但我没有任何运气。我觉得我一定做错了什么。啊,我道歉。我现在意识到我的问题问错了。你回答得很对-我真正做的是尝试向foreach函数添加一些内容。根据我对问题的措辞,你的答案基本上是正确的。@Steve:请参阅我更新的答案,以获得一个具体的工作示例。太好了!就这样。非常感谢Alex!我已经成功地将Choose插入到范围中,但仍然无法将其设置为默认选项。我也试过ehudokai的答案(一旦我看到它,这似乎是一个显而易见的解决方案),但我没有任何运气。我觉得我一定做错了什么。啊,我道歉。我现在意识到我的问题问错了。你回答得很对-我真正做的是尝试向foreach函数添加一些内容。根据我对问题的措辞,你的答案基本上是正确的。@Steve:请参阅我更新的答案,以获得一个具体的工作示例。太好了!就这样。非常感谢Alex!