Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如果一周中有多天_Php_Date - Fatal编程技术网

PHP如果一周中有多天

PHP如果一周中有多天,php,date,Php,Date,这可能吗 $d=date("D"); ... else if ($d=='(Thu|Fri|Sat)') { 我可以一周中有一天工作 if ($d=='Wed') { 谢谢为什么不能使用或或| else if ($d=='Thu' || $d=='Fri' || $d=='Sat') { 如果您不想坚持简单,请使用preg_replace() 试一试 或与|| if($d == 'Thu' || $d == 'Fri' || etc) 您可以使用OR运算符: else if ($d==

这可能吗

$d=date("D");
...
else if ($d=='(Thu|Fri|Sat)') {
我可以一周中有一天工作

if ($d=='Wed') {

谢谢

为什么不能使用
|

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

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

试一试

或与||

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

您可以使用OR运算符:

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

不。对于你想要的,这是最好的选择

if(in_array($d, array('Thu', 'Fri', 'Sat'))
  // do something if any case is true
如果你想要更多的控制,你可以很方便地让你对不同的情况有更多的控制

$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;
}
如果满足任何或所有条件,第一组情况将应用以下代码(直到
中断

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

switch
case
非常有用,特别是在这里,如果你想真正控制它的话。

$d=='(Thu | Fri | Sat)
只有在
$d
与该字符串匹配时才会匹配

你可以:

  • 使用:
    preg_匹配('/^(Thu|Fri|Sat)$/',$d)
  • An:
    在数组中($d,数组('Thu','Fri','Sat'))
    ,或
  • 多个if语句:
    if($d=='Thu'| |$d=='Fri'| |$d=='Sat')
  • 使用结构

为什么不直接使用or或数组呢?在这种情况下,我更喜欢使用
开关
,因为你可以获得更多的控制权。@Jon:我用的是in_array(),它更干净@Martin我知道它是干净的,但是如果OP需要子条件逻辑,就缺乏控制。那可能会变得非常混乱。@Jon:是的,但这件案子的工作是这样的。我只是展示了我喜欢的:)
if (in_array($d, array("Thu", "Fri", "Sat"))) {

}
if(in_array($d, array('Thu', 'Fri', 'Sat'))
  // do something if any case is true
$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;
}