它会起作用吗?我想通过chron job发送电子邮件。只有OR(||)的当前代码工作正常。现在我想在此语句中添加一个AND(&&)。这里$ fullDays有OR statemet +我需要检查for pay_confirm列应该包含" 0"。
它会起作用吗?
代码是 -
$date1= date("Y-m-d");
$date2=date("Y-m-d",strtotime($dateexpire['expiry_date']));
$dateDiff = strtotime($date2) - strtotime($date1);
$fullDays = floor($dateDiff/(60*60*24));
if (($fullDays =="7" || $fullDays =="6" || $fullDays =="5" || $fullDays =="4" || $fullDays =="3" || $fullDays =="2" || $fullDays =="1" || $fullDays =="0") && ($dateexpire["payment_confim"]=="0")){
ob_start();
答案 0 :(得分:4)
如果你亲自尝试过,那就最好了。是的,它会奏效。你的if语句有点乱,但检查每个单独的值并不是很有效。它不易维护,容易出错。如果你觉得if语句变得混乱,那么很可能是一种更简洁,更简单的方法。
$days = range(0,7);
if ( in_array($fullDays, $days) && $dateexpire["payment_confim"] == "0" ){
ob_start();
这会让你的生活变得更轻松。但是你的当然也会工作。如果你不确定再读一下布尔人如何评价。这对生存至关重要。
答案 1 :(得分:0)
是的,这样可以正常工作,但它的工作非常复杂:
if($banana == 1&&$pear == 2||$mango == 7&& $strawberry == 3)
{
// if code goes here
}
答案 2 :(得分:0)
这样可行。
但是,除非你确实遇到问题,否则通常没有必要在这里提问。
如果您担心向订阅者发送错误的电子邮件,则应该在单独的服务器上测试新代码,该服务器不会错误地向任何客户端发送电子邮件。这样,即使代码存在问题,也没有人会知道,你可以毫无顾虑地修复它。
答案 3 :(得分:0)
您的代码肯定会有效。您似乎对测试代码感到困扰。作为开发人员,您需要使用虚拟数据进行测试,轻松处理这种情况。您只需声明$fullDays
和$dateexpire["payment_confim"]
并指定以下值:
/*
$date1= date("Y-m-d");
$date2=date("Y-m-d",strtotime($dateexpire['expiry_date']));
$dateDiff = strtotime($date2) - strtotime($date1);
$fullDays = floor($dateDiff/(60*60*24));
*/
//for testing, assign test value in the variable $fullDays and array $dateexpire["payment_confim"]
$fullDays = 5;
$dateexpire["payment_confim"] = 0;
if (($fullDays =="7" || $fullDays =="6" || $fullDays =="5" || $fullDays =="4" || $fullDays =="3" || $fullDays =="2" || $fullDays =="1" || $fullDays =="0") && ($dateexpire["payment_confim"]=="0")){
//ob_start();
echo "Conditions met";
}
else
{
echo "Conditions not met";
}