if
không phải là một cấu trúc vòng lặp, vì vậy bạn không thể "thoát ra khỏi nó".
Tuy nhiên, bạn có thể thoát ra foreach
bằng cách gọi đơn giản break
. Trong ví dụ của bạn, nó có tác dụng mong muốn:
foreach($equipxml as $equip) {
$current_device = $equip->xpath("name");
if ( $current_device[0] == $device ) {
// found a match in the file
$nodeid = $equip->id;
// will leave the foreach loop and also the if statement
break;
}
this_command_is_not_executed_after_a_match_is_found();
}
Chỉ để hoàn thành cho những người khác vấp phải câu hỏi này để tìm câu trả lời ..
break
nhận một đối số tùy chọn, xác định có bao nhiêu cấu trúc vòng lặp cần phá vỡ. Thí dụ:
foreach (array('1','2','3') as $a) {
echo "$a ";
foreach (array('3','2','1') as $b) {
echo "$b ";
if ($a == $b) {
break 2; // this will break both foreach loops
}
}
echo ". "; // never reached
}
echo "!";
Kết quả đầu ra:
1 3 2 1!