繁体   English   中英

简单的PHP问题

[英]Simple PHP question

是的,这是一个简单的问题,但我无法通过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 } ?>

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

谢谢,马克

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

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

您假设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 } ?>

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

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

尝试:

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

也许这个:

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

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

==和===

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

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

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

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

试试这个更易于用户阅读的代码:

<?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 } ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM