检查 PHP 中的多个(如果不是)条件
Check against multiple - if not - conditions in PHP
我有两个输入字段,分别是事件的开始时间和结束时间。我只希望时间采用 xx:00 或 xx:30 格式。前端已处理,但我想在后端验证输入。以下是我如何从发布的时间中仅检索分钟数。
function validate_time($start_time,$end_time)
{
$start_time_min = substr($start_time,-2,2);
$end_time_min = substr($end_time,-2,2);
if ($start_time_min != '00' || $end_time_min != '00')
{
return false;
}
if ($start_time_min != '30' || $end_time_min != '30')
{
return false;
}
return true;
}
上面的 if 语句 returns 总是 false,所以我需要的是 return 只有当开始或结束时间不是 00 或不是 30 时才为 false。
在上述情况下使用 or (||
) 是导致问题的原因,因为您会发现其中一个是 != 0 或 30。
if ($start_time_min != '00' && $start_time_min != '30')
{
return false;
}
if ($end_time_min != '00' && $end_time_min != '30')
{
return false;
}
试试这个:
function validate_time($start_time,$end_time)
{
$startTime = explode(':', $start_time);
$endTime = explode(':', $end_time);
if ($startTime[1] !='00' || $endTime[1] !='30') {
return false;
}
return true;
}
您可以像下面的代码那样使用单个 If 条件:
function validate_time($start_time,$end_time)
{
$start_time_min = substr($start_time,-2,2);
$end_time_min = substr($end_time,-2,2);
if (($start_time_min != '00' && $start_time_min != '30') || ($end_time_min != '00' && $end_time_min != '30'))
{
return false;
}
return true;
}
我有两个输入字段,分别是事件的开始时间和结束时间。我只希望时间采用 xx:00 或 xx:30 格式。前端已处理,但我想在后端验证输入。以下是我如何从发布的时间中仅检索分钟数。
function validate_time($start_time,$end_time)
{
$start_time_min = substr($start_time,-2,2);
$end_time_min = substr($end_time,-2,2);
if ($start_time_min != '00' || $end_time_min != '00')
{
return false;
}
if ($start_time_min != '30' || $end_time_min != '30')
{
return false;
}
return true;
}
上面的 if 语句 returns 总是 false,所以我需要的是 return 只有当开始或结束时间不是 00 或不是 30 时才为 false。
在上述情况下使用 or (||
) 是导致问题的原因,因为您会发现其中一个是 != 0 或 30。
if ($start_time_min != '00' && $start_time_min != '30')
{
return false;
}
if ($end_time_min != '00' && $end_time_min != '30')
{
return false;
}
试试这个:
function validate_time($start_time,$end_time)
{
$startTime = explode(':', $start_time);
$endTime = explode(':', $end_time);
if ($startTime[1] !='00' || $endTime[1] !='30') {
return false;
}
return true;
}
您可以像下面的代码那样使用单个 If 条件:
function validate_time($start_time,$end_time)
{
$start_time_min = substr($start_time,-2,2);
$end_time_min = substr($end_time,-2,2);
if (($start_time_min != '00' && $start_time_min != '30') || ($end_time_min != '00' && $end_time_min != '30'))
{
return false;
}
return true;
}