跳回switch语句之外

时间:2014-12-13 01:14:52

标签: php

我想知道如果遇到某种情况,如何跳转到switch语句之外,因为代码必须重试它刚刚完成的操作。这是我的代码示例;

$result = $this->check($user, $password); 

switch($result){
    case 'invalid-email-password':
        //Do stuff
        break;

    case 'error':
        //Do stuff
        //Jump back to $result = $this->check to try again
        break;

代码只应在“错误”错误后继续执行。 case不再是$this->check()函数的结果。

1 个答案:

答案 0 :(得分:0)

一般来说,如果你想编写“重试直到它工作”的事情,请考虑这个:

while(true) {
    doSomething();

    if( $it_worked) break;
}

请注意,由于您使用switch语句,因此您需要使用break 2;成功结果退出switchwhile

为了防止无限循环,你可以让一个$attempts计数器倒计时,如果你没有尝试就会手动打破循环。