0

これは基本的な質問かもしれませんが、十分な情報に基づいた回答が必要であり、Google で回答を得るために適切なキーワードを取得できないようです。これが重複している場合は、閉じて正しい方向に向けてください。

そこで質問です。以下のコードでは、指定されたブレークが実行されると、どこでブレークアウトしますか?

case 'changeEmployeeInfo':
    $con = db_connect(DBNAME, DBUSERNAME, DBPASSWORD , DBHOST);
    $query = 'UPDATE USERS SET firstname = ?, lastname = ?, email = ? where idusers = ?';
    $updateValues = array($firstName,$lastName,$email,$employeeID);
    $newID = db_change($query,$updateValues,$con);
    if($_SESSION['role']==1||$_SESSION['role']==3||$_SESSION['role']==4){
        if($_POST['status']== true){
            $status = 1;
        }elseif($_POST['status']==false){
            $status = 0;
        }
        else{
            break;//<--THIS IS THE BREAK I'M TALKING ABOUT
        }
        $query = 'UPDATE USERS SET status = ? where idusers = ?';
        $updateValues = array($status, $employeeID);
        $newID = db_change($query,$updateValues,$con);
    }
    db_disconnect($con);
    break;

私の本能は、db_disconnect関数は引き続き実行されるが、UPDATE USERSクエリとそれに関連する行は実行されないことを教えてくれます。私はこれを考えるのが正しいですか?ありがとう!

4

3 に答える 3

5

breakPHP では、あなたの場合はcase. さらにレベルを分割するには、次を使用しますbreak n

ドキュメントから:

$i = 0;
while (++$i) {
    switch ($i) {
    case 5:
        echo "At 5<br />\n";
        break 1;  /* Exit only the switch. */
    case 10:
        echo "At 10; quitting<br />\n";
        break 2;  /* Exit the switch and the while. */
    default:
        break;
    }
}
于 2013-01-09T21:06:54.347 に答える
2

PHPでブレークに達したとき、ブレークアウトするレベルはいくつですか?

1

于 2013-01-09T21:05:59.187 に答える
1

あなたの例では、ブレークはレベルに移動し、ステートメント switchを残します。実行されません。casedb_disconnect

于 2013-01-09T21:08:01.853 に答える