switch($a) {
case 1:
case 2:
.......
.......
.......
break;
}
块调用了1和2 .
35
我赢了't repost the other answers because they'一切都正确,但我'll just add that you can' t使用开关更多"complicated"语句,例如:测试一个值是"greater than 3","between 4 and 6"等等 . 如果你需要做类似的事情,坚持使用 if 语句,或者如果有的话特别强烈需要 switch 然后可以将它用于前面:
switch (true) {
case ($value > 3) :
// value is greater than 3
break;
case ($value >= 4 && $value <= 6) :
// value is between 4 and 6
break;
}
case 4:
echo "This is not the number you're looking for.\n";
$foo = 92;
break;
case 5:
echo "A copy of Ringworld is on its way to you!\n";
$foo = 34;
break;
case 3:
case 4:
echo "This is not the number you're looking for.\n";
$foo = 92;
break;
case 5:
echo "A copy of Ringworld is on its way to you!\n";
$foo = 34;
break;
switch(true)
{
case (strlen($foo) > 30):
$error = "The value provided is too long.";
$valid = false;
break;
case (!preg_match('/^[A-Z0-9]+$/i', $foo)):
$error = "The value must be alphanumeric.";
$valid = false;
break;
default:
$valid = true;
break;
}
我认为这可以帮助您解决问题 .
-4
switch ($value)
{
case 1:
case 2:
echo "the value is either 1 or 2.";
break;
}
这被称为“通过”案件块 . 该术语存在于实现switch语句的大多数语言中 .
9
如果您必须使用 || 与 switch ,那么您可以尝试:
$v = 1;
switch (true) {
case ($v == 1 || $v == 2):
echo 'the value is either 1 or 2';
break;
}
如果不是你的首选解决方案
switch($v) {
case 1:
case 2:
echo "the value is either 1 or 2";
break;
}
问题是两种方法在处理大型案例时效率都不高......想象 1 到 100 这样可以完美地工作
$r1 = range(1, 100);
$r2 = range(100, 200);
$v = 76;
switch (true) {
case in_array($v, $r1) :
echo 'the value is in range 1 to 100';
break;
case in_array($v, $r2) :
echo 'the value is in range 100 to 200';
break;
}
$today = date("D");
switch($today){
case "Mon":
case "Tue":
echo "Today is Tuesday or Monday. Buy some food.";
break;
case "Wed":
echo "Today is Wednesday. Visit a doctor.";
break;
case "Thu":
echo "Today is Thursday. Repair your car.";
break;
default:
echo "No information available for that day.";
break;
}
10 回答
尝试
最好的方法可能是请求的其他方式 . 此外,这可以更容易和清楚地使用 .
例:
而不是使用不能与PHP一起使用的函数,尤其是在HTML中使用PHP时 .
我建议你通过http://php.net/manual/en/control-structures.switch.php(手册)
explanation
就像你要执行单个语句的值一样,你可以把它放在没有中断的地方,直到或除非发现中断它将继续执行代码,如果发现中断它将从交换机案例中出来 .
使用此代码:
块调用了1和2 .
我赢了't repost the other answers because they'一切都正确,但我'll just add that you can' t使用开关更多"complicated"语句,例如:测试一个值是"greater than 3","between 4 and 6"等等 . 如果你需要做类似的事情,坚持使用
if
语句,或者如果有的话特别强烈需要switch
然后可以将它用于前面:但正如我所说,我个人在那里使用
if
声明 .请尝试本文中的以下示例:http://phpswitch.com/
Possible Switch Cases :
(一世) . A simple switch statement
切换声明是奇妙而神奇的 . 它是一种语言,允许您在值的不同选项之间进行选择,并根据设置的值运行不同的代码片段 .
每个可能的选项由switch语句中的case给出 .
Example :
(ⅱ) . Delimiting code blocks
切换的主要警告是每个案例都将继续进入下一个案例,除非你以休息方式停止它 . 如果将上述简单案例扩展到案例5:
Example :
(三) . Using fallthrough for multiple cases
因为switch会一直运行代码直到找到中断,所以很容易采用fallthrough的概念并为多个case运行相同的代码:
Example :
案例2:
(ⅳ) . Advanced switching: Condition cases
PHP的开关不仅允许您打开特定变量的值:您可以使用任何表达式作为其中一种情况,只要它为要使用的案例提供值 . 举个例子,这是一个使用switch编写的简单验证器:
Example :
我认为这可以帮助您解决问题 .
这被称为“通过”案件块 . 该术语存在于实现switch语句的大多数语言中 .
如果您必须使用
||
与switch
,那么您可以尝试:如果不是你的首选解决方案
问题是两种方法在处理大型案例时效率都不高......想象
1
到100
这样可以完美地工作http://php.net/manual/en/control-structures.switch.php示例