Maison > Questions et réponses > le corps du texte
P粉5641921312023-08-29 09:28:59
foreach($equipxml as $equip) { $current_device = $equip->xpath("name"); if ( $current_device[0] == $device ) { // found a match in the file $nodeid = $equip->id; break; } }
Utilisez simplement break
. c'est ça.
P粉7294365372023-08-29 00:47:33
if
n'est pas une structure cyclique, vous ne pouvez donc pas la "casser".
Cependant, vous pouvez le faire en appelant simplement break 来突破
. Dans votre exemple cela a l'effet souhaité : foreach
$device = "wanted"; 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 immediately and also the if statement break; some_function(); // never reached! } another_function(); // not executed after match/break }
Juste pour le garder intact pour toute autre personne qui tombe sur cette question et cherche une réponse.
break
prend des arguments facultatifs définissant combien de structures de boucle il doit briser. Exemple :
foreach (['1','2','3'] as $a) { echo "$a "; foreach (['3','2','1'] as $b) { echo "$b "; if ($a == $b) { break 2; // this will break both foreach loops } } echo ". "; // never reached! } echo "!";
Résultat :