我有两个时间值,如下所示
$row2[0]=00:40:00;
$row1[5]=14:00:00;
$time=14:33:00
$time=$row[1];
我正在组合$ row2 [0],$ row1 [5],如下所示
$secs = strtotime($row2[0])-strtotime("00:00:00");
$result = date("H:i:s",strtotime($row1[5])+$secs);
$result=14:40:00
我使用if条件如图所示
if($row[1]>$row1[5] && $row[1]<$result)
{
$message=array("status"=>$result);
}
else
{
$message=array("status"=>'');
}
但是我的"status"=>""
不正确
我想获得"status"=>"14:40:00"
请帮助我们获得正确的输出
答案 0 :(得分:2)
您似乎无法在任何地方定义$row[1]
,因此将其视为NULL
,整数为0
,不能超过您提供的时间$row1[5]
。
尝试使用不那么模糊的变量名称,这样可以更容易地发现这样的问题。
就我个人而言,我不明白为什么if
完全存在,只需删除它和else
块,只留下$message = array("status"=>$result);
。
答案 1 :(得分:1)
这是真正的oder伪代码吗? 因为
$row2[0]=00:40:00;
不是真正的PHP代码!
$row2[0] = 00:40:00; // $row2[0] would be 0, because you are assigning an integer
$row2[0] = "00:40:00"; // $row2[0] would be "00:40:00", but as a string (!)
我会一直使用时间戳btw。
答案 2 :(得分:0)
我和Panique一起回答,我想补充一下:
你宣布了两个变种:
$row2[0]=00:40:00;
$row1[5]=14:00:00;
但你在if
中调用了不同的数组元素if($row[1]>$row1[5] && $row[1]<$result)
解决这个问题,您应该让代码正常工作。