有没有人知道这个问题,我有以下代码:
if (strtotime($unlockInfo->UnlockReviewDate) < time()) {
echo "<h3>Please review your details and ensure they are accurate and up to date.</h3>";
$verifState = validateUnlockCode($db_conn, $unlockInfo->UnlockCode);
}
现在它似乎工作得很好,但有一个问题,我似乎追逐了很长时间。
基本上$ unlockInfo是从mySql查询返回的对象,您可能会看到该对象是根据当前时间进行评估的。现在,validateUnlockCode函数可以在特定情况下修改数据库,从而修改$ unlockInfo对象。
但是,在评估if语句之前,不应修改任何内容。但是当我从if语句中错过空格时,即
if(strto....
这似乎导致在if被评估之前设置$ verifState,因此调用validate函数并在premeturely修改数据库。
这是正常的吗?是应该发生的吗?对不起,我对这个感到有点困惑。
答案 0 :(得分:0)
if之后的空格不会影响任何内容。
如果strtotime($unlockInfo->UnlockReviewDate)
失败,那么它(false == 0
)肯定会小于当前的UNIX时间戳。这是我检查的第一件事。
strtotime返回什么? UnlockReviewDate的格式是什么?