跳转到PHP switch语句中的另一个案例

Fel*_*len 7 php switch-statement

说我有这样的事情:

switch ($_GET['func']) {
    case 'foo':
        dobar();
        break;
    case 'orange':
        if ($_GET['aubergine'] == 'catdog') {
            // **DO DEFAULT OPTION**
        } else {
            dosomethingElse();
        }
        break;
    default:
        doDefault();
}
Run Code Online (Sandbox Code Playgroud)

如何default从标记点跳到案例case 'orange'

Yos*_*shi 9

尝试:

switch($_GET['func']) {
  case 'foo':
    dobar();
    break;

  case 'orange':
    if($_GET['aubergine'] != 'catdog') {
        dosomethingElse();
        break;
    }

  default:
    doDefault();
}
Run Code Online (Sandbox Code Playgroud)


Jan*_*sen 9

哟dawg,你可以使用一个很酷的新功能叫做goto.

<?php
$func = "orange";
function doDefault() { echo "yeehaw!"; return; }
function dobar() { return; }
function dosomethingElse() { return; }

switch ($func) {
    case 'foo':
        dobar();
        break;
    case 'orange':
        if (true) {
            goto defaultlabel;
        } else {
            dosomethingElse();
        }
        break;
    default:
    defaultlabel:
        doDefault();
}
Run Code Online (Sandbox Code Playgroud)