2009-07-03 85 views
4

是的,這是一個簡單的問題,但是我無法通過PHP文檔或Google找到答案。 (我剛學PHP ....)簡單的PHP問題

如果這個工程:

<?php $d=date("D"); if ($d="Mon") { ?>echo this text on Monday<?php endwhile; ?><?php } else { ?><?php } ?> 

爲什麼不呢?

<?php $d=date("D"); if ($d="Mon,Tue") { ?>echo this text on Monday and Tuesday<?php endwhile; ?><?php } else { ?><?php } ?> 

Mon和Tue之間是否需要不同的分隔符?我試過||和& & ....

謝謝,馬克

回答

3

嘗試:

<?php $d=date("D"); if (in_array($d,array('Mon','Tue'))) { ?>echo this text on Monday and Tuesday<?php endwhile; ?><?php } else { ?><?php } ?> 
7

你假設date("D")將返回多個值。它只會返回當天。而是使用此:

<?php $d=date("D"); if (in_array($d, array("Mon","Tue"))) { ?>echo this text on Monday and Tuesday<?php endwhile; ?><?php } else { ?><?php } ?> 
+0

快速次要問題。 PHP中的「」和「'有什麼不同?另外,很好的使用數組。 :P – Zack 2009-07-03 17:55:38

+0

雙引號字符串(「」)插值$變量,而單引號('')不插入。在這個例子中,所有的字符串都可以用單引號,也許可以獲得性能。你永遠不知道用PHP。 – spoulson 2009-07-03 18:22:41

4

字符串$d要麼將​​含有「星期一」或「星期二」,從不「星期一,星期二」。你不能以這種方式比較字符串。您需要使用像這樣的表達式:

if ($d == "Mon" || $d == "Tue") { 
0

也許這:

if ($d == "Mon" || $d == "Tue") { 

也,PHP有兩個運營商的平等。

==和===

8

,當你說($d="Mon")你執行的$d的分配。你需要的是比較操作符(==):

if ($d == "Mon" || $d == "Tue") 
0

如果你字符串值 '星期一,星期二',然後你就可以檢查

if($d=='Mon,Tue') 

沒有機會,所以你需要使用OR條件。

if($d=='Mon' || $d=='Tue') 
0

嘗試這個代碼是多個用戶可讀:

<?php $d=date("D"); 
$days=array("Mon,Tue"); 
if ($d="Mon,Tue") if(in_array($a,$days)) { ?>echo this text on Monday and Tuesday<?php endwhile; ?><?php } else { ?><?php } ?>