我有一个包含300多个case语句的switch语句。
case 'hello':
{ $say = 'some text'; }
break;
case 'hi':
{ $say = 'some text'; }
break;
为什么休息时间总是在另一条线上?这需要吗?我这样做在语法上是不正确的:
case 'hello': { $say = 'some text'; } break;
case 'hi': { $say = 'some text'; } break;
答案 0 :(得分:3)
在同一条线上休息没有错。你也不需要括号。
然而,您是否考虑过使用其他方法而不是拥有300个案例开关的声明。值的键映射(使用数组)将更快,更易于维护。
$myArray = array(
'hello' => 'some text',
'hi' => 'some text',
);
if ( isset($myArray[$switchKey]) ){
$say = $myArray[$switchKey];
}else{
//default case
}
答案 1 :(得分:1)
不,PHP对空格不敏感。分号和括号分隔语句。
中断通常在一个单独的行上,因为它不是在同一行上放置多个语句,并使switch
语句的控制流清晰的好方式。
答案 2 :(得分:1)
你的两个例子都是可能的。顺便说一下,在这种情况下我不认为括号是必要的,你也可以写:
switch ($myVar) {
case 'hello': $say = 'some text'; break;
case 'hi': $say = 'some text'; break;
default: $say = 'something'; break;
}
答案 3 :(得分:0)
是的,你可以将break语句放在case块中,它只是寻找break语句
关闭开关盒。
答案 4 :(得分:0)
另外,我建议使用类似php_codesniffer的东西来建议您重新编码样式。