⊗ppSpOtEI 88 of 95 menu

Optimisasi Perulangan Loop yang Berlebihan dalam PHP

Dalam kode berikut, seorang programmer memeriksa apakah dalam array terdapat angka 3:

<?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 solusinya? Sepertinya tidak ada operasi berlebihan yang dilakukan dalam loop. Masalahnya, bagaimanapun, adalah setelah ditentukan bahwa angka 3 ada dalam array - loop tetap berlanjut hingga akhir array.

Yang paling tidak rasional adalah jika angka 3 ditemukan di suatu tempat di awal array, sedangkan array itu sendiri panjangnya, katakanlah, 1000 elemen. Akibatnya akan ada seribu iterasi loop yang tidak berguna dan berlebihan! Tidak optimal.

Mari optimalkan kode dengan menghentikan loop pada saat 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); ?>

Kode berikut menghitung, berapa banyak elemen array yang perlu dijumlahkan agar jumlahnya menjadi lebih dari 10. Lakukan optimisasi:

<?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; ?>

Kode berikut mencetak bilangan genap dari rentang yang ditentukan. Lakukan optimisasi:

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

Kode berikut mencetak bilangan yang habis dibagi 2 dan 3 secara bersamaan. Lakukan optimisasi:

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