⊗ppSpOtEI 76 of 83 menu

Pengoptimuman Lepasan Gelung Berlebihan dalam PHP

Dalam kod berikut, seorang pengaturcara menyemak sama ada nombor 3 wujud dalam array:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; } } var_dump($exists); ?>

Apa yang salah dengan penyelesaiannya? Nampaknya tiada operasi berlebihan dilakukan dalam gelung. Masalahnya, bagaimanapun, ialah selepas ditentukan bahawa nombor 3 wujud dalam array - gelung masih berterusan hingga akhir array.

Yang paling tidak rasional adalah jika nombor 3 ditemui di suatu tempat di awal array, manakala array itu sendiri panjangnya, katakan, 1000 elemen. Ini akan menghasilkan seribu lelaran gelung berlebihan yang tidak berguna! Tidak optimum.

Mari optimumkan kod dengan menghentikan gelung pada masa yang tepat:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $exists = false; foreach ($arr as $elem) { if ($elem == 3) { $exists = true; break; } } var_dump($exists); ?>

Kod berikut mengira berapa banyak elemen array yang perlu ditambah, supaya jumlahnya menjadi lebih besar daripada 10. Laksanakan pengoptimuman:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $sum = 0; $i = 1; foreach ($arr as $elem) { $sum += $elem; if ($sum <= 10) { $i++; } } echo $i; ?>

Kod berikut mengeluarkan nombor genap dari julat yang diberikan. Laksanakan pengoptimuman:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0) { echo $i; } } ?>

Kod berikut mengeluarkan nombor yang boleh dibahagi dengan 2 dan 3 secara serentak. Laksanakan pengoptimuman:

<?php for ($i = 0; $i <= 100; $i++) { if ($i % 2 === 0 and $i % 3 === 0) { echo $i; } } ?>
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak