简单的PHP问题

时间:2009-07-03 17:07:55

标签: php

是的,这是一个简单的问题,但我无法通过PHP文档或Google找到答案。 (我只是在学习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 } ?>

我在星期一和星期二之间需要不同的分隔符吗?我试过了||和&amp;&amp; ....

谢谢,Mark

7 个答案:

答案 0 :(得分:8)

当您说$d时,您正在执行($d="Mon")的作业。你想要的是比较运算符(==):

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

答案 1 :(得分: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 } ?>

答案 2 :(得分:4)

字符串$d要么包含“Mon”或“Tue”,要么不包含“Mon,Tue”。你不能用这种方式比较字符串。你需要使用这样的表达式:

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

答案 3 :(得分:3)

尝试:

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

答案 4 :(得分:0)

也许这个:

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

另外,php有两个相等的运算符。

==和===

答案 5 :(得分:0)

如果你的字符串值为'Mon,Tue',那么你可以检查

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

没有机会,所以你需要使用OR条件。
即,

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

答案 6 :(得分: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 } ?>