0

以下に示すように、2つの時間値があります

$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"

正しい出力を得るために私たちを助けてください

4

3 に答える 3

2

どこにも定義していないように見える$row[1]ので、 として扱われますNULL。これは、整数として であり0、 で指定した時間よりも大きくすることはできません$row1[5]

あいまいさの少ない変数名を使用してみてください。このような問題を見つけやすくなる可能性があります。

個人的には、なぜそこにあるのかまったくわかりません。それとブロックをif削除して、.else$message = array("status"=>$result);

于 2012-05-12T18:36:56.973 に答える
1

これは本当の疑似コードですか?なぜなら

$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 (!)

私は常にタイムスタンプで作業します。

于 2012-05-12T18:36:26.680 に答える
0

私は彼の答えでパニークと一緒に行きます、私も追加したいです:

2 つの変数を宣言しました。

$row2[0]=00:40:00;
$row1[5]=14:00:00;

しかし、ifで異なる配列要素を呼び出しました

if($row[1]>$row1[5] && $row[1]<$result)

これを解決すると、コードが機能するはずです。

于 2012-05-12T18:40:42.117 に答える