PHP IF,一周中有多天

时间:2012-03-10 00:24:36

标签: php date

这可能吗?

$d=date("D");
...
else if ($d=='(Thu|Fri|Sat)') {

我可以在一周的某一天工作。

if ($d=='Wed') {

由于

6 个答案:

答案 0 :(得分:3)

只需使用in_array()

即可
if (in_array($d, array("Thu", "Fri", "Sat"))) {

}

答案 1 :(得分:2)

为什么不能使用or||

else if ($d=='Thu' || $d=='Fri' || $d=='Sat') {

如果您不想坚持简单,请使用preg_replace() [docs]

preg_match('^(Thu|Fri|Sat)$', $yourtext, $matches, PREG_OFFSET_CAPTURE);
if(count($matches)) {
    /// found
}

答案 2 :(得分:2)

您可以使用OR运算符:

else if ($d=='Thu' || $d=='Fri' || $d=='Sat') {

答案 3 :(得分:2)

没有。根据您的需要,in_array()是最佳选择。

if(in_array($d, array('Thu', 'Fri', 'Sat'))
  // do something if any case is true

如果您想要更多控制权,switch and case非常方便,可以让您更好地控制不同情况。

$d = date('D');

switch($d) {
  case 'Thu':
  case 'Fri':
  case 'Sat':
    // do something for Thu, Fri, or Sat
    break;

  case 'Mon':
    // do something only for Mon
  case 'Tue':
    // do something for Mon or Tue.
    break;
}

如果满足任何或所有条件,第一组案例将应用以下代码(直至break)。

如果Mon为真,则第二组将在案例TueMon之间应用代码,如果为真,则继续Tue

switchcase非常有用,特别是在您想要真正控制的情况下。

答案 4 :(得分:2)

$d == '(Thu|Fri|Sat)'仅在$d与该字符串完全匹配时匹配。

你可以:

答案 5 :(得分:1)

尝试

if(in_array($d, array('Thu', 'Fri', 'etc'))){
}

或者使用||

if($d == 'Thu' || $d == 'Fri' || etc)