if
एक लूप संरचना नहीं है, इसलिए आप इसे "तोड़ नहीं सकते"।
हालाँकि, आप foreach
केवल कॉल करके ही ब्रेक आउट कर सकते हैं break
। आपके उदाहरण में इसका वांछित प्रभाव है:
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();
}
बस दूसरों के लिए पूर्णता है कि इस सवाल पर ठोकर के लिए एक जवाब की तलाश में ..
break
एक वैकल्पिक तर्क लेता है, जो परिभाषित करता है कि इसे कितने लूप संरचनाओं को तोड़ना चाहिए। उदाहरण:
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 "!";
परिणामी उत्पादन:
१ ३ २ १ १!