Berbuka jika dan foreach
P粉651109397
P粉651109397 2023-08-28 11:32:39
0
2
631
<p>Saya mempunyai gelung foreach dan pernyataan if. Akhirnya saya perlu keluar dari foreach jika perlawanan ditemui. </p> <pre class="brush:php;toolbar:false;">foreach ($equipxml as $equip) { $current_device = $equip->xpath("nama"); jika ($peranti_semasa[0] == $peranti) { // Mendapati padanan dalam fail. $nodeid = $equip->id; <pecahkan if dan foreach di sini> } }</pre> <p><br /></p>
P粉651109397
P粉651109397

membalas semua(2)
P粉564192131
foreach($equipxml as $equip) {
    $current_device = $equip->xpath("name");
    if ( $current_device[0] == $device ) {
        // found a match in the file            
        $nodeid = $equip->id;
        break;
    }
}

Hanya guna break. itu sahaja.

P粉729436537

if bukan struktur kitaran, jadi anda tidak boleh "memecahkannya".

Walau bagaimanapun, anda boleh melakukan ini dengan hanya memanggil break 来突破 foreach . Dalam contoh anda ia mempunyai kesan yang diingini:

$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
}

Hanya untuk memastikan ia utuh bagi sesiapa sahaja yang terjumpa soalan ini dan sedang mencari jawapan.

break mengambil hujah pilihan yang mentakrifkan berapa banyak struktur gelung yang harus dipecahkan. Contoh:

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 "!";

Hasil keluaran:

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan