[英]When a break is reached in PHP how many levels does it break out of?
好的,這可能是一個基本問題,但是我想要一個有根據的答案,而且我似乎無法正確使用關鍵字來通過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
查詢及其關聯的行將不會執行。 我認為正確嗎? 謝謝!
在PHP中, break
只能打破一個級別,在您的情況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;
}
}
當在PHP中達到中斷時,它將中斷多少個級別?
1個
在您的示例中,break將移至switch
級別,保留case
語句。 db_disconnect
將不會運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.