Menentukan Setiap Lelaran Ke-N bagi Gelung dalam PHP
Satu keperluan biasa dalam pengaturcaraan ialah melakukan tindakan tertentu pada selang masa yang tetap. Sebagai contoh, dalam kes ini, anda ingin memaparkan imej selepas setiap tiga catatan dalam suapan XML. Untuk mencapai matlamat ini, anda boleh menggunakan operator pembahagian modulus.
Penyelesaian:
Operator pembahagian modulus (%) mengembalikan baki selepas membahagikan nombor dengan pembahagi. Anda boleh memanfaatkan operator ini untuk menentukan sama ada lelaran semasa ialah gandaan selang yang dikehendaki. Begini cara anda boleh menyesuaikan kod anda:
foreach ($xml->post as $post) { echo '...'; // Increment the counter. $counter++; // Check if it's time to display an image. if ($counter % 3 == 0) { echo 'image file'; } }
Dalam kod yang disemak ini, kami mengira baki pembahagian $counter dengan 3 menggunakan operator modulus. Apabila bakinya ialah 0 (iaitu, $counter ialah gandaan 3), ia menunjukkan keperluan untuk memaparkan imej.
Penjelasan:
Kunci kepada ini penyelesaian terletak pada pemahaman bagaimana pembahagian modulus berfungsi. Jika anda membahagi nombor (a) dengan nombor lain (b) menggunakan operator modulus, hasilnya akan menjadi baki selepas pembahagian. Contohnya:
Apabila anda menggunakan ini pada gelung anda, ini bermakna setiap lelaran ketiga (iaitu, apabila $counter ialah 3, 6, 9, dsb.) akan mempunyai baki 0. Akibatnya, bersyarat ($counter % 3 == 0) akan menilai kepada benar, mencetuskan paparan imej.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Kod Setiap Lelaran Nth dalam Gelung PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!