Khi tôi thường muốn thoát khỏi vòng lặp foreach trước khi tất cả các lần lặp lại đã hoàn thành, tôi chỉ cần sử dụng ngắt; tuyên bố. ví dụ.Break out out forloop nhưng trong câu lệnh chuyển đổi php
foreach($nodelist as $node) {
if($metCriteria) {
break;
}
}
Nhưng ví dụ tiếp theo của tôi có tuyên bố chuyển đổi trong đó. Và nếu một trong những điều kiện được đáp ứng thì tôi cần phải thoát khỏi vòng lặp foreach. (Vấn đề là giờ nghỉ được sử dụng cho câu lệnh switch)
foreach($nodelist as $node)
{
switch($node->nodeName) {
case "a" :
//do something
break;
case "b" :
//break out of forloop
break;
}
}
Tôi chỉ đơn giản là thiết lập một biến trong câu lệnh switch sau đó phá vỡ sau nó? ví dụ.
$breakout = false;
foreach($nodelist as $node)
{
switch($node->nodeName) {
case "a" :
//do something
break;
case "b" :
$breakout = true;
break;
}
if($breakout === true) break;
}
Đây có phải là giải pháp tốt nhất không? hay cái này theo cách khác?
+1 con trỏ tuyệt vời .. – pinaki
+1 Đây chính xác là những gì tôi cần. Điểm thưởng cho việc sử dụng cấu trúc ngôn ngữ được tạo sẵn - Tôi đã thực hiện nó theo phong cách @Lizard cho đến bây giờ. –
5.4.0 \t Đã xóa khả năng chuyển các biến (ví dụ: $ num = 2; break $ num;) làm đối số bằng số. –