2017-02-01 3 views
1

私はelseステートメントを追加するときにif文が真であっても、以下のコードを使ってレポートを送信します。PHPはeach - elseは常にelseを返す

誰でもこの理由を説明できますか?私は今までにこの問題が起きたとは思っていませんか?読書のための

foreach ($result as $page) { 
$date1 = new DateTime($page->start_date); 
$date2 = new DateTime($page->end_date); 

if (strtotime($page->start_date) >= strtotime('today') && strtotime($page->start_date) < strtotime('tomorrow')) { 

    $email_content .= '<span style=" background-colour: #777777; font-size: 1em; font-family: arial, sans-serif; color:#202020;"><strong>' . $page->post_title . ' </strong></span>'; 

    $email_content .= '<span style=" font-size: 1em; font-family: arial, sans-serif; color:#00b200;"><strong>Order By ' . $date1->format('d-m-y') . ' ' . '</strong></span>'; 

    $email_content .= '<div style=" font-size: 1em; font-family: arial, sans-serif; color:#cc0000;"><strong>For Delivery ' . $date2->format('d-m-y') . '</strong></div><br>' . '<br>'; 

}else { 
    $email_content = '<span style=" background-colour: #777777; font-size: 1em; font-family: arial, sans-serif; color:#202020;"><strong>tester </strong></span>'; 
} 
}  

感謝:)

+1

2回目の比較でend_dateを使用していましたか? – trevor

+0

コードは書かれていません:) :) @ジョニーは、あなたが正確な考えを得ることができるようにelse条件の出力を印刷できますか? –

+0

@trevorは正しい 'start_date'が2回使用され、' end_date'が使用されません –

答えて

1

を通じ、あなたループとして、あなたの$ email_content変数は、else文で上書きされつつあります。あなたはtheの中でappendしています。他の人には上書きされます。コードを次のように更新してください:

 foreach ($result as $page) { 
    $date1 = new DateTime($page->start_date); 
    $date2 = new DateTime($page->end_date); 

    if (strtotime($page->start_date) >= strtotime('today') && strtotime($page->start_date) < strtotime('tomorrow')) { 

     $email_content .= '<span style=" background-colour: #777777; font-size: 1em; font-family: arial, sans-serif; color:#202020;"><strong>' . $page->post_title . ' </strong></span>'; 

     $email_content .= '<span style=" font-size: 1em; font-family: arial, sans-serif; color:#00b200;"><strong>Order By ' . $date1->format('d-m-y') . ' ' . '</strong></span>'; 

     $email_content .= '<div style=" font-size: 1em; font-family: arial, sans-serif; color:#cc0000;"><strong>For Delivery ' . $date2->format('d-m-y') . '</strong></div><br>' . '<br>'; 
    }else { 
     $email_content .= '<span style=" background-colour: #777777; font-size: 1em; font-family: arial, sans-serif; color:#202020;"><strong>tester </strong></span>'; 

} 
}