我试图用我的PHP代码做以下操作,但它似乎没有呈现。
我不确定我做得对不对。谁能告诉我哪里错了吗?
<?php
$date1=date_create("2016-05-09 12:00:00"); // due date
$date2=date_create("2016-05-10 12:00:00");// today date
$diff=date_diff($date1,$date2);
$due = ( if ($date1>$date2 or($date1==$date2))
{
echo $diff->format("%a days");
}
else
{
echo "its 0";
});
?>
测试用例:<?php echo "$due"; ?> // not working
如果您试图将结果存储在变量中,则不要使用echo
。相反,使用三元操作符condition ? value_if_true: value_if_false
改变:
$due=( if ($date1>$date2 or($date1==$date2))
{ echo $diff->format("%a days");}
else {echo "its 0";}
);
:
$due = $date1>=$date2 ? $diff->format("%a days"): "it's 0";
打开手册并向下滚动到三元操作符查看更多示例
正确的方法是:
$due = $date1 >= $date2 ? $diff->format("%a days") : 'its 0';
# ---------IF TRUE------^->THEN--------------------^->ELSE.
这被称为三元操作符,你要做的是将语法绑定到一个变量。
它的作用如下:
if($date1 >= $date2){
$due = $diff->format("%a days");
} else {
$due = 'its 0';
}