比较IF中的字符串(php问题中的语句

时间:2013-06-07 15:24:12

标签: php if-statement compare

我还没有找到这个在线解决方案,因为我认为它是我使用日期格式的方式。

问题:我有一个日期格式:2013-06-07此格式由以下内容创建:

$thedate = (string) substr($item->children('http://www.w3.org/2005/Atom')->updated,0,-15) . ' - '; - 从RSS源中获取,并进行修剪,以便仅显示年,月和日。

然后我使用它,得到相同的,每个都是今天的日期:

$day = (string) date('Y-m-d');

因此,当我进行IF语句时,日期应该在进入数据库之前匹配:

if($day == $thedate) {

echo ($day . '\n' . $thedate);

$sql = "INSERT INTO rssFeed (date, stage, title, description, location, billtype, link) VALUES('". 
$thedate ."','". $stage . "','" . $title . "', '" . $desc ."', '" . $location ."', '" . $billtype ."', '". $linkurl ."')";

//print_r($sql);

$inres = $mysqli->query($sql);
print_r($mysqli->error);

} else {
echo ('They do not match'); 
}'

在没有IF语句的情况下工作正常,我打印了两个日期并且它们是相同的,但是,无论出于何种原因,语句都会出现,而不是相同,并且在控制台中只有“它们不匹配”,或者放入数据库。没有错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

$day = date("Y-m-d"); //get rid of the (string) cast
$thedate = date("Y-m-d", strtotime($thedate));

if($day == $thedate) {
    ... // your stuff
} else {
    echo ('They do not match.');
}

字符串编码/存储的方式可能会有一些细微差别。由于您的$ day变量是使用date()函数创建的,因此您可以通过对$ thedate执行相同操作来更好地匹配它们。