2013-03-06 92 views
0

我正在使用php的web服務。下面的代碼給了我關於日期符號的以下歐洲格式結果: Begindatum:01-01-2011 Einddatum:01-01-1970 einddatum(結束日期)由於某種原因設置爲01- 01-1970當沒有/ web服務值爲空時。如果沒有提供,我希望它保持空虛,但是如何?當日期爲空時不顯示01-01-1970

幫助表示讚賞。

問候 彼得

foreach($array as $k=>$v){ 
print " 
<tr> 
     <td> 
      <ul> 
       <li><b>Begindatum : " . date("d-m-Y",strtotime($v->Begindatum)) ."</b></li> 
       <li><b>Einddatum : " . date("d-m-Y",strtotime($v->Einddatum)) ."</b></li> 
      </ul> 
     </td> 
</tr> 
+0

你不能簡單地做任何理由「空($ v-> Begindatum)?'':date('dm-Y',strtotime($ v-> Begindatum))「? – fsw 2013-03-06 20:51:59

+0

不能與我一起工作 – 2013-03-06 21:05:41

回答

2

strtotime回報false的故障(例如一個空字符串),所以你可以檢查爲:

$begin = strtotime($v->Begindatum); 
$end = strtotime($v->Einddatum); 
... 
     // echo a ternary statement 
    <li><b>Begindatum : " . ($begin ? date("d-m-Y", $begin) : '') . "</b></li> 
    <li><b>Einddatum : " . ($end ? date("d-m-Y", $end) : '') . "</b></li> 
+0

好的謝謝,但如何在上面給出的代碼中實現這一塊? – 2013-03-06 21:06:24

+0

@PetervanderLely你可以把前兩行放在'foreach'之後,'(...)'會替換你的'date()'東西。 – jeroen 2013-03-06 21:07:54

+1

謝謝......它完美無缺......仍然需要檢查服務器負載:這是循環中這些必要日期轉換的缺點。 – 2013-03-06 21:39:55