php - 如果它们确实从选项中禁用它们,您如何检查时间是否存在于两个数组中
问题描述
如果时间存在,我正在尝试禁用一个选项
每次我做任何检查时,我都不确定哪种方法是正确的,如 array_key_exists array_merge implode
我收到了这些错误:date() 期望参数 2 是给定期望类型“数组”的整数数组。找到'int|float'
$notAvailable = ["9:00", "9:15", "09:30"];
// Header
echo '<select name="time" class="time">';
$start = strtotime('09:00');
$end = strtotime('18:00');
for ($calltime = $start; $calltime <= $end; $calltime = $calltime + 15 * 60) {
printf('<option value="%s">%s</option>', date('H:i', $calltime), date('g:i a', $calltime));
}
// disabled="disabaled
echo '</select>';
$notAvailable = ["9:00", "9:15", "09:30"];
$start = strtotime('09:00');
$end = strtotime('18:00');
如果["9:00", "9:15", "09:30"]
与循环匹配,我想禁用选择选项
如果我做
for ($calltime = $start; $calltime <= $end; $calltime = $calltime + 15 * 60) { if ($notAvailable == $calltime) { # code... printf('<option value="%s">%s</option>', date('H:i', $calltime), date('g:i a', $calltime)); } }
$result = array_merge($calltime, $notAvailable); if ($result) { # code... printf('<option value="%s">%s</option>', date('H:i', $calltime), date('g:i a', $calltime)); }
解决方案
您可以进行以下修改,然后您就可以开始了,
修改 1 :$notAvailable
变量前有 zero( 0
) 值,因为您的 for 循环生成时间值,例如“ 0 9:00”、“ 0 9:15”、“ 0 9:30”而不是“9:00”、“9:15” , "09:30"
修改 2in_array()
:如果它是数组的索引,请检查函数,然后设置选项disabled="disabled"
,否则简单地使用它。
修改3:将时间值赋给一个变量,让它看起来更干净。(可选)
<?php
// Header
$notAvailable = ["09:00", "09:15", "09:30"];
echo '<select name="time" class="time">';
$start = strtotime('09:00');
$end = strtotime('18:00');
for ($calltime = $start; $calltime <= $end; $calltime = $calltime + 15 * 60) {
$time = date('H:i', $calltime);
$time_with_am_pm = date('g:i a', $calltime);
if(in_array($time,$notAvailable)){
printf('<option value="%s" disabled="disabled">%s</option>', $time,$time_with_am_pm);
}else{
printf('<option value="%s">%s</option>', $time,$time_with_am_pm);
}
}
// disabled="disabaled
echo '</select>';
?>
推荐阅读
- jquery - Jquery 让 ajax 调用输入,但在等待响应时继续写入
- jsf - 在 JSF(视图)中处理异常并保存此异常消息
- sql - Spark:卡尔曼滤波器的窗口和 UDAF
- r - R中的部分字符串匹配将文本统一为一个类别
- java - 使用 lambda 机制在硒中查找元素
- ios - AudioKit 可以在没有 AVAudioEngine 的情况下异步提取 EQed 样本吗?
- reactjs - 从firebase反应读取,得到错误
- javascript - 使用 window.print() 在 Chrome 中显示时如何调整列宽?
- javascript - 在 css 属性“溢出”设置为“自动”的元素的滚动事件上设置 scrollTop/scrollLeft 时会发生什么?
- ios - 设置“视图为”调整情节提要中的帧大小