仅当currentmonth和currentyear大于时才显示数据

时间:2017-06-01 00:40:37

标签: php date if-statement

假设currentmonth是06和currentyear 2017

我有一年和一个月的下降.. 如果我选择2017年和7月的月份比当前月份大 我怎么表明还没有数据

我现在的代码......它没有用......我是新手,不确定我这样做是不是......

$mystartingyear=2017;
$mystartingmonth=01;

$currentmonth=date("m");
$currentyear=date("Y");

if ($currentyear >= $mystartingyear && $currentmonth >= $mystartingmonth)
{
echo "Show Data";
}
else
{
echo "No Data yet";
}

我也尝试过这样的

$mystartingyear=2017;
$mystartingmonth='01';

$currentmonth=12;
$currentyear=2017;

//$currentmonth=date("m");
//$currentyear=date("Y");

if ($currentyear >= $mystartingyear && $currentmonth >= $mystartingmonth)
{
echo "Show Data";
}
else
{
echo "No Data yet";
}

它始终显示“显示数据”

2 个答案:

答案 0 :(得分:2)

修改

0107的整数只要您不执行010(包含3个整数)就可以了,因为它将表示为8 。但是,一旦您开始点击0809八月和九月(可能是未知下拉列表中的内容),您就会有问题。

所以你引用它是最好的。

  • 咨询"脚注"。

原始答案:

01中的前导零:

$mystartingmonth = 01;
                   ^^

被视为八进制。

需要引用:

$mystartingmonth = '01';

八进制参考:

<强>脚注:

如果您当前的代码失败了,那么其他一些东西让您失望。

您在问题中提到,您从下拉列表中使用此代码并且该代码未包含在内,也未包含该代码。

使用PHP的错误报告,设置为捕获并显示:

验证条件语句的逻辑; 必须才能满足这两个条件。

答案 1 :(得分:-2)

第一次回声后缺少分号,即代码应为

echo "Show Data";

然后每件事都应该可以正常工作,

日期(); php中的函数返回字符串中的日期,当您将字符串与整数进行比较时,它会隐式转换为等效的整数变量,如果您确定可以使用intvar();将变量转换为等效整数的函数。但在您的情况下没有必要。有关我的更多信息,我建议您阅读php manual