<分区>
我想比较两个日期,第一个是我当前的日期,第二个是数据库中的日期。
当我看到它们时,它们看起来完全相同,但 PHP 给了我另一个结果。我尝试使用 strcmp
等函数进行比较。我简化了代码,以便您更容易理解。
<?php
$users_day = "20".date("y-m-d");
$looper = 0 ;
$all_users_selection = mysql_query("SELECT * FROM user");
while($user_rows = mysql_fetch_array($all_users_selection) )
{
if($user_rows['user_lastseen'] != NULL)
{
//Getting user lastseen day and hour
$db_user_date[$looper] = substr(($user_rows['user_lastseen']) ,0 , 10);
$db_user_curr[$looper] = $user_rows['username'];
//Comparing day then hour
if (strcmp($users_day,$db_user_date[$looper]) != 0)
{
//Set offline
$current_user_update = mysql_query("UPDATE user SET user_status = 'offline' WHERE username = '$db_user_curr[$looper]'");
}
$looper++;
}
?>
当我尝试测试变量时,例如 echo $users_day;
,它会给我 2016-12-24
(我当前的日期)。
此外,当我测试数据库中的日期时,它会给我一个相同类型的日期,例如我添加的:
echo $db_user_date[$looper];
在我的 while 循环
中,在某些情况下日期是相同的 2016-12-24
当我测试 echo strcmp($users_day,$db_user_date[$looper]);
它给了我 -10,这意味着它们 100% 不同,但它们不是!
有什么想法吗?