这是一个PHP'错误'还是我错过了什么?

时间:2010-10-02 18:42:31

标签: php

有没有人知道这个问题,我有以下代码:

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修改数据库。

这是正常的吗?是应该发生的吗?对不起,我对这个感到有点困惑。

1 个答案:

答案 0 :(得分:0)

if之后的空格不会影响任何内容。

如果strtotime($unlockInfo->UnlockReviewDate)失败,那么它(false == 0)肯定会小于当前的UNIX时间戳。这是我检查的第一件事。

strtotime返回什么? UnlockReviewDate的格式是什么?