使用退货时是否需要切换开关?

我想知道在使用“return”时是否需要在“switch”function中使用“break”。

function test($string) { switch($string) { case 'test1': return 'Test 1: ' . $string; case 'test2': return 'Test 2: ' . $string; } } 

我已经尝试过了,没有“rest”就可以正常工作。 但是我需要知道这是否安全。 谢谢。

是的,你可以使用return而不是break

break是可选的,用于防止所有其他case语句“落入”。 所以return可以以类似的方式使用,因为return结束了函数的执行。

另外,如果你所有的case都是这样的:

 case 'foo': $result = find_result(...); break; 

并在switch语句之后,您只需return $result ,使用return find_result(...); 在每种case都会使你的代码更具可读性。

最后不要忘记添加default情况。 如果你认为你的代码永远不会达到default情况,那么你可以使用assert函数,因为你永远不能确定。

你不需要rest,返回停止执行该function。

(供参考: http : //php.net/manual/en/function.return.php说:

如果从函数内部调用,则return()语句会立即结束当前函数的执行

没有不必要的,因为当关键字return被调用时,它将指示开关/情况被调用的特定function已经结束。

不,你不需要在switch case语句中breakbreak实际上是可选的,但谨慎使用。

你不需要它,但我强烈build议在任何情况下使用它作为良好的做法。

Break只是一个警告声明,用于限制开关结构的控制进入另一个案例…例如,如果您有三个case语句,value是第一个case,而您使用的case没有任何break结构,那么所有以下所有的情况将被执行,尽pipe条件仅仅满足第一种情况…返回可以执行asme函数,所以如果你使用return来代替break,那么返回将会把控制从switch case语句中移开这是当时的需要……希望它有帮助….

返回给控制回到调用方法,其中断开跳转到切换块后的第一条指令。