我有一个选择框,时间间隔为15分钟,从晚上9点到8点,由下面的代码生成。
function hoursRange($lower = 9, $upper = 20, $step = .25, $format = NULL) {
if ($format === NULL) {
$format = 'g:ia'; // 9:30pm
}
$times = array();
foreach(range($lower, $upper, $step) as $increment) {
$increment = number_format($increment, 2);
list($hour, $minutes) = explode('.', $increment);
$date = new DateTime($hour . ':' . $minutes * .6);
$times[(string) $increment] = $date->format($format);
}
return $times;
}
$timeArr = hoursRange();
$array = array_values($timeArr);
echo "";
echo "--Select--";
foreach($array as $key=>$value){
$disabled = '';
echo "".$value."";
}
echo "";
它给了我一个选择框,选项包括9:00、9:15等,如下所示
Array
(
[0] => 9:00am
[1] => 9:15am
[2] => 9:30am
[3] => 9:45am
[4] => 10:00am
[5] => 10:15am
[6] => 10:30am
[7] => 10:45am
[8] => 11:00am
[9] => 11:15am
[10] => 11:30am
[11] => 11:45am
[12] => 12:00pm
[13] => 12:15pm
[14] => 12:30pm
[15] => 12:45pm
[16] => 1:00pm
[17] => 1:15pm
[18] => 1:30pm
[19] => 1:45pm
[20] => 2:00pm
[21] => 2:15pm
[22] => 2:30pm
[23] => 2:45pm
[24] => 3:00pm
[25] => 3:15pm
[26] => 3:30pm
[27] => 3:45pm
[28] => 4:00pm
[29] => 4:15pm
[30] => 4:30pm
[31] => 4:45pm
[32] => 5:00pm
[33] => 5:15pm
[34] => 5:30pm
[35] => 5:45pm
[36] => 6:00pm
[37] => 6:15pm
[38] => 6:30pm
[39] => 6:45pm
[40] => 7:00pm
[41] => 7:15pm
[42] => 7:30pm
[43] => 7:45pm
[44] => 8:00pm
)
注意:现在我的问题是我必须根据一个条件取消选择框中的一些选项
当前时间=上午11点=>将禁用之前的所有选项
当前时间=下午2点=>应禁用此项之前的所有选项
当前时间=下午3:30或3:48,则下午4点之前的所有选项都应禁用。
为了这个我试过这个
date_default_timezone_set('Asia/Kolkata');
$curretHour = date("g");
echo "";
foreach($array as $key=>$value){
$newArr = explode(':', $value);
if(($newArr[0] == $currentHour) || $newArr[0]
$dis = 'disabled = disabled';
}else{
$dis = '';
}
echo "".$value."";
}
echo "";
但没人能帮我。任何帮助都将不胜感激。