Saya memiliki loop yang melakukan pengecekan kesalahan dalam kode PHP saya. Awalnya terlihat seperti ini ...
foreach($results as $result) {
if (!$condition) {
$halt = true;
ErrorHandler::addErrorToStack('Unexpected result.');
}
doSomething();
}
if (!$halt) {
// do what I want cos I know there was no error
}
Ini berfungsi dengan baik dan bagus, tetapi masih terus berulang meskipun setelah satu kesalahan itu tidak perlu. Apakah ada cara untuk keluar dari lingkaran?
Seperti yang dinyatakan di posting lain, Anda dapat menggunakan kata kunci break. Satu hal yang diisyaratkan tetapi tidak dijelaskan adalah bahwa kata kunci dapat mengambil nilai numerik untuk memberi tahu PHP berapa banyak level yang harus dibobol.
Misalnya, jika Anda memiliki tiga loop foreach yang bertumpuk satu sama lain untuk mencoba menemukan informasi, Anda dapat melakukan 'break 3' untuk keluar dari ketiga loop bersarang. Ini akan bekerja untuk struktur 'for', 'foreach', 'while', 'do-while', atau 'switch'.
sumber
break;
meninggalkan lingkaran Anda.continue;
melewatkan kode apa pun untuk sisa loop itu dan melanjutkan ke loop berikutnya, selama kondisinya masih benar.sumber
Anda dapat menggunakan kata kunci break .
sumber
Semua ini adalah jawaban yang bagus, tetapi saya ingin menyarankan satu lagi yang menurut saya adalah standar kode yang lebih baik. Anda dapat memilih untuk menggunakan sebuah bendera dalam kondisi perulangan yang menunjukkan apakah akan melanjutkan perulangan atau tidak dan menghindari penggunaan
break
semuanya secara bersamaan.Saya menganggap ini sebagai praktik kode yang lebih baik karena tidak bergantung pada cakupan yang
break
digunakan. Sebaliknya, Anda mendefinisikan variabel yang menunjukkan apakah akan memutus loop tertentu atau tidak. Ini berguna ketika Anda memiliki banyak loop yang mungkin atau mungkin tidak bersarang atau berurutan.sumber
sumber