Loop di PHP. PHP foreach loop: dua cara untuk menggunakannya Php menghitung ganda dalam satu lingkaran

Tidak mungkin Anda dapat menulis skrip yang serius di PHP tanpa menggunakan loop. Apa itu siklus? Ini adalah jenis struktur kontrol khusus yang memungkinkan Anda untuk berulang kali (dan bahkan tanpa henti) mengeksekusi kode yang sama. PHP mendukung loop berikut:

Tiga loop pertama kemungkinan besar ditemukan di sebagian besar bahasa pemrograman. Loop, bergantung pada kondisinya, dapat diinterupsi atau dilanjutkan (lanjutkan ke iterasi berikutnya tanpa mengeksekusi badan loop). Mari kita lihat lebih dekat setiap siklusnya.

untuk putaran

Sintaks untuk perulangan for adalah sebagai berikut.

Untuk(inisialisasi; kondisi; commands_after_iteration) (loop_body; )

Di blok inisialisasi, penghitung selalu diinisialisasi, serta variabel lain (jika perlu). Blok kondisi menunjukkan pada titik mana loop harus diakhiri. Di blok perintah yang dieksekusi setelah setiap bagian dari loop, nilai penghitung biasanya diubah, serta variabel lain (jika perlu).

// Array nilai $array = array("Apel", "Kentang", "Semangka", "Bunga", "Air", "Merkurius", "Oksigen", "Gandum", "Rusia", "Moskow ", " Mandi"); // Kondisi loop berbunyi seperti ini: hingga penghitung mencapai nilai yang sama dengan jumlah // elemen array, badan loop dieksekusi for($i = 0; $i< count($array); $i++) { print "
".($i + 1)".. ".$array[$i]."; ) /* Hasil perulangan adalah: 1. Apel. 2. Kentang. 3. Semangka. 4. Bunga. 5. Air. 6. Merkuri. 7. Oksigen. 8. Gandum 9. Rusia 10. Moskow 11. Hujan deras */

Karena penghitung $i dimulai dari nol, dengan setiap iterasi kami menambahkan satu ke nilainya untuk membuat daftar terlihat lebih familiar. Setelah setiap iterasi, nilai penghitung bertambah satu, dan ketika mencapai 11, perulangan berhenti. Sekarang mari kita lihat perulangan do-while.

perulangan do-while

Perulangan do-while berbeda karena ia bekerja pada kondisi pasca. Ini berarti bahwa kode yang terlampir di badan perulangan akan dieksekusi setidaknya satu kali. Sintaks loopnya adalah:

Lakukan ( loop_body; ) while(kondisi);

Loop ini jarang digunakan dalam pemrograman web, tetapi Anda mungkin memerlukannya dalam skrip Anda.

// Array sudah tidak asing lagi bagi kita $array = array("Apel", "Kentang", "Semangka", "Bunga", "Air", "Merkurius", "Oksigen", "Gandum", "Rusia", " Moskow" , "Hujan"); // Jalankan perulangan $i = 1; lakukan (cetak"
".$i.". ".$array[($i - 1)]."; ) while($i++< count($array)); /* Результат работы цикла будет таким: 1. Яблоко. 2. Картошка. 3. Арбуз. 4. Цветок. 5. Вода. 6. Ртуть. 7. Кислород. 8. Пшеница. 9. Россия. 10. Москва. 11. Ливень. */

Perhatikan perbedaan antara apa yang kami tampilkan di loop ini dan loop for. Karena kode di badan perulangan do-while dieksekusi setidaknya sekali, nilai awal penghitung disetel ke nol. Cara kerja loop... kode dieksekusi, lalu kondisinya diperiksa. Pada iterasi pertama, counter bernilai 1. Setelah iterasi, satuannya ternyata kurang dari 11 (jumlah elemen). Pada iterasi terakhir, penghitung memiliki nilai 11, yang tidak kurang dari 11. Perulangan berhenti. Do-while sangat mirip dengan perulangan while.

while loop

Perulangan while bersifat prasyarat. Itu hanya akan dieksekusi ketika kondisinya benar. Artinya, perulangan while mungkin tidak dijalankan sama sekali. Sintaksnya adalah:

While(kondisi) ( loop_body; )

Bersamaan dengan perulangan for, perulangan while juga sangat sering digunakan.

$array = array("Apel", "Kentang", "Semangka", "Bunga", "Air", "Merkurius", "Oksigen", "Gandum", "Rusia", "Moskow", "Shower"); $i = 1; while($i++<= count($array)) { print "
".$i.". ".$array[($i - 1)]."; ) /* Hasil perulangan adalah: 1. Apel. 2. Kentang. 3. Semangka. 4. Bunga. 5. Air. 6. Merkurius 7. Oksigen 8. Gandum 9. Rusia 10. Moskow 11. Hujan deras */

Loop sementara untuk pengembang pemula adalah yang paling sederhana dan paling mudah dipahami.

putaran depan

Foreach loop tidak seperti yang di atas. Itu muncul di PHP4, dirancang untuk mengulang array. Pengembang tidak perlu menemukan apa pun untuk ini. Semuanya mudah dan sederhana:

/** * Foreach loop harus dipahami sebagai "untuk masing-masing". * Larik yang sedang diproses oleh perulangan diteruskan ke variabel yang hanya * dapat diakses di dalam badan perulangan. Jika diinginkan, Anda dapat merujuk ke * dan kunci array. */ foreach(array sebagai array_element) ( loop_body; ) foreach(array sebagai array_key => array_element) ( loop_body; )

Perulangan foreach bekerja secara berbeda dari perulangan for , while , dan do-while . Oleh karena itu, cukup sulit bagi pengembang yang tidak berpengalaman untuk memahami apa sebenarnya yang dapat (dan bahkan harus) dilakukan dengannya.

// Ubah array yang sudah kita ketahui. Mari kita buat asosiatif. $array = array("Apel" => "buah", "Kentang" => "sayuran", "Semangka" => "beri", "Bunga" => "tanaman", "Air" => "cair", "Merkurius" => "logam", "Oksigen" => "gas", "Gandum" => "roti", "Rusia" => "Tanah Air kita", "Moskow" => "ibukota Tanah Air kita", "Shower" => "popados"); $i = 1; // Kita bisa melakukan ini foreach($array as $v) ( print "
".$i.". ".$v."; $i++; ) /* Dapatkan hasil tak terduga berikut: 1. buah. 2. sayuran. 3. beri. 4. tanaman. 5. cairan. 6. logam. 7. gas. 8. roti 9. tanah air kita 10. ibu kota tanah air kita 11. popados */ // Dan sekarang mari kita lakukan secara berbeda foreach($array as $k => $v) ( print "
".$i.". ".$k." adalah ".$v."; $i++; ) /* Sekarang hasilnya adalah 1. Apel adalah buah. 2. Kentang adalah sayuran. 3. Semangka adalah buah beri. 4. Bunga adalah tanaman. 5 Air adalah cair 6 Merkuri adalah logam 7 Oksigen adalah gas 8 Gandum adalah roti 9 Rusia adalah Tanah Air kita 10 Moskow adalah ibu kota Tanah Air kita 11 Hujan adalah hujan */

Apakah Anda mengerti bagaimana siklus ini bekerja? Jika tidak, Anda dapat mengajukan pertanyaan di komentar materi.

Dalam siklus apa pun, Anda dapat menggunakan konstruksi merusak atau melanjutkan. Terkadang tidak masuk akal untuk melanjutkan putaran, atau Anda perlu melanjutkan ke iterasi berikutnya.

$array = array("Apel" => "buah", "Kentang" => "sayuran", "Semangka" => "beri", "Bunga" => "tanaman", "Air" => "cair", "Merkurius" => "logam", "Oksigen" => "gas", "Gandum" => "roti", "Rusia" => "Tanah Air kita", "Moskow" => "ibukota Tanah Air kita", "Shower" => "popados"); $i = 1; // Contoh bagaimana loop bekerja dengan continue foreach($array as $k => $v) ( if($k != "Oxygen") continue; print "
".$i.". ".$k." is ".$v."; $i++; ) /* Hasilnya adalah 1. Oksigen adalah gas. */ $i = 1; // Contoh bagaimana loop bekerja dengan break foreach($array as $ k = > $v) ( if($k == "Oksigen") istirahat; print "
".$i.". ".$k." adalah ".$v."; $i++; ) /* Hasilnya adalah 1. Apel adalah buah. 2. Kentang adalah sayuran. 3. Semangka adalah buah beri. 4. Bunga adalah tanaman. 5. Air adalah zat cair 6. Merkuri adalah logam */

Catatan: versi adaptif situs diaktifkan, yang secara otomatis menyesuaikan dengan ukuran kecil browser Anda dan menyembunyikan beberapa detail situs agar mudah dibaca. Selamat menonton!

Halo para pembaca yang budiman dan pelanggan tetap! Saatnya melanjutkan siklus artikel tentang PHP dan hari ini kita akan mempelajari hal yang mendasar dan sekaligus sangat penting, seperti siklus. Apa yang perlu Anda ketahui tentang siklus terlebih dahulu? Dan fakta bahwa mereka digunakan di mana-mana dan di mana-mana, dan template untuk Joomla, VirtueMart, Wordpress, OpenCart, dan CMS lainnya tidak terkecuali.

Apa itu siklus? Siklus adalah pengulangan berulang dari potongan kode yang sama. Berapa banyak pengulangan yang perlu Anda lakukan tergantung pada penghitung siklus, yang kita buat sendiri dan dapat kita kendalikan. Ini sangat nyaman, misalnya ketika kita perlu menggambar produk dalam kategori toko online, menampilkan posting blog, menampilkan komentar pada artikel atau produk, semua menu di CMS (mesin situs) juga dibuat menggunakan siklus. Secara umum, loop sangat sering digunakan.

Tetapi sebelum beralih ke loop itu sendiri, pertama-tama kita perlu berurusan dengan yang namanya pernyataan kenaikan dan pengurangan.

Operator ++ (increment) menaikkan nilai variabel satu per satu, sedangkan operator -- (decrement) menurunkan nilai variabel satu per satu. Mereka sangat nyaman digunakan dalam siklus sebagai penghitung, dan dalam pemrograman secara umum. Ada juga kenaikan/penurunan PRE dan kenaikan/penurunan POST:

PRE kenaikan/penurunan ++$a Menaikkan $a per satu dan mengembalikan nilai $a. --$a Mengurangi $a per satu dan mengembalikan nilai $a. Kenaikan/penurunan POST $a++ Mengembalikan nilai $a dan kemudian menambahkan $a per satu. $a-- Mengembalikan nilai $a dan kemudian mengurangi $a per satu.

Sebagai contoh:

$a = 1; gema "Nomor keluaran: " . $a++; // Nomor keluaran: 1 gema " Nomor keluaran: " . $a; // Nomor keluaran: 2 echo "Nomor keluaran: $a"; $a += 1; // sama dengan baris pertama$a = 1; gema "Nomor keluaran: " . ++$a; // Nomor keluaran: 2 echo "Nomor keluaran: " . $a; // Nomor keluaran: 2 $a += 1; echo "Nomor keluaran: $a"; // sama seperti di baris pertama blok ini

untuk putaran

for (bagian A; bagian B; bagian C)( // Kode apa pun, baris sebanyak yang Anda suka; )

Loop for terdiri dari 3 bagian dan body itu sendiri. Bagian A lakukan saja apa yang dikatakannya, sebagai aturan, dalam 90% kasus, penghitung lingkaran dibuat di sana. Bagian B- ini, secara kasar, sudah tidak asing lagi bagi kita jika, yaitu ujian kebenaran (benar?). Jika kondisinya benar, yaitu BENAR, lalu PHP masuk ke dalam loop dan terus menjalankannya. Bagian C- sama seperti part A, biasanya di part C kita melakukan semacam transformasi dengan counter. Sebagai contoh:

"; ) echo "KELUAR DARI LOOP dan lanjutkan melalui kode..."; ?>

Sekarang tentang algoritma for loop. Hal pertama yang dilihat PHP saat melihatnya adalah bagian A dan mengeksekusinya satu kali (lihat gambar di bawah). PHP kemudian melompat ke bagian B dan memeriksa apakah itu benar atau salah. Jika benar, maka ia mengeksekusi tubuh loop dan hanya setelah itu pergi ke bagian C. Setelah itu, PHP kembali ke bagian B dan memeriksa apakah masih benar atau tidak ada lagi. Jika tidak, maka perulangan berakhir, jika ya, maka berlanjut sampai bagian B salah.

Hasil dari contoh sebelumnya:

while loop

while (bagian B)( // Kode apa pun, baris sebanyak yang Anda suka; )

Seperti yang Anda lihat, tidak ada bagian A dan bagian C, hanya kondisi yang tersisa dari perulangan for, yaitu bagian B. Jika kita perlu menggunakan penghitung, maka kita harus meletakkannya di dalam perulangan while, di antara yang lainnya dari kode, ini akan menjadi bagian C. Dan pembuatan penghitung diperlukan sebelum dimulainya konstruksi while:

Bagian A; while (bagian B)( // Kode apa pun, baris sebanyak yang Anda inginkan; Bagian C; )

Mari ubah for loop sebelumnya menjadi while loop:

"; $i++; ) echo "KELUAR DARI LOOP dan lanjutkan melalui kode..."; ?>

Hasilnya akan persis sama. Apa yang harus digunakan: loop for atau while adalah masalah selera, lihat mana yang lebih nyaman dan logis untuk Anda, tidak ada perbedaan.

do... while loop

Kurang umum dari semua jenis siklus. Ini pada dasarnya adalah saat terbalik. Triknya adalah bahwa PHP setidaknya sekali (yang pertama), tetapi pasti akan masuk ke dalam tubuh loop do ... while, karena dalam loop ini kondisi di akhir:

Bagian A; do( // Kode apapun, baris sebanyak yang kamu suka; Bagian C; )sementara(Bagian B);

"; $i++; )sementara($i< 8); echo "ВЫШЛИ ИЗ ЦИКЛА и пошли дальше по коду..."; ?>

Penting untuk dipahami bahwa tidak ada bagian wajib dalam ketiga jenis siklus tersebut.

Contoh perulangan for tanpa bagian A dan bagian C:

For(;$i > 8;)( // kode Anda )

Contoh perulangan for tanpa ketiga bagian:

Untuk(;;)( // loop tak terbatas klasik )

Artinya, semua titik koma masih ada di for loop, ini sintaksnya!

Loop tak berujung

Loop tak terbatas adalah kesalahan pengembang di mana halaman tidak akan pernah dapat memuat sampai akhir, karena kondisi loop (bagian B) akan selalu benar. Sebagai contoh:

"; $i++; )while($i != 0); echo "KELUAR DARI LOOP dan lanjutkan melalui kode..."; ?>

Hasil:

Saya hanya menunjukkan sebagian saja, karena semuanya tidak muat di layar. Beginilah browser Anda dan server situs Anda akan menderita tanpa henti hingga browser mogok setelah 30 detik, karena dalam contoh di atas, variabel $i tidak akan pernah sama dengan nol, awalnya sama dengan 1 dan terus meningkat.

Artinya, pengembang lalai ketika menemukan kondisi seperti itu.

Manajemen siklus

pernyataan putus. Ada situasi ketika kita tidak membutuhkan loop untuk memainkan semua iterasi (pengulangan). Misalnya, pada saat tertentu kami ingin menghentikannya dan melanjutkan eksekusi di bawah kode:

"; if ($i === 5) break; // keluar dari loop jika $i sama dengan 5 $i++; ) echo "Saya hanya bisa menghitung sampai 5:("; ?>

Hasil:

Dalam contoh di atas, segera setelah kami mencapai lima, PHP keluar dari loop, jika tidak maka akan dihitung sampai 7.

melanjutkan pernyataan juga menginterupsi eksekusi loop, tetapi tidak seperti break, continue tidak keluar dari loop, tetapi mengembalikan interpreter PHP kembali ke kondisi (ke bagian B). Contoh:

"; ) echo "Melewatkan sesuatu?"; ?>

Hasil:

Kami baru saja melewatkan 5 karena PHP tidak sesuai.

Sebuah loop dapat disarangkan di dalam sebuah loop. Dalam kasus seperti itu, pernyataan continue dan break hanya mencakup satu siklus, di mana mereka berada. Artinya, dengan kata lain, mereka terlempar ke satu tingkat, dan tidak melalui semua. Contoh:

Tapi kita sendiri bisa memilih berapa level yang akan dilompati:

"; $i++; $i=1; $k=1; sementara ($k< 8) { echo "Итерация $k номер ". $k . "
"; jika ($k === 5) pecahkan 2; $k++; ) ) ?>

Hasil:

Secara alami, dalam hal ini, kami tidak dapat menetapkan angka yang lebih besar dari loop bersarang kami.

putaran depan

Last but not least, foreach loop adalah yang paling penting. digunakan hanya untuk pencacahan dan objek (masih terlalu dini untuk mempelajarinya). Contoh sintaks:

"; } ?>

Hasil:

Ini adalah konstruksi foreach pendek, tetapi juga memiliki versi yang diperluas, yang, selain nilai sel array, juga menampilkan nama sel (kunci):

$nilai) ( ​​echo "Di bagian " .$kunci . " ada artikel berjudul: ".$nilai . "
"; } ?>

Hasil:

Saya menarik perhatian Anda pada fakta bahwa kita dapat memberi nama variabel apa pun yang kita inginkan, bahkan $key dan $value, bahkan $xxx dan $yyy.

Jika sebuah array, maka kami hanya menggunakan foreach loop dan tidak ada yang lain. Siklus inilah yang digunakan di mana-mana di VirtueMart, dan memang di mana-mana.

Pembaruan terakhir: 11.11.2015

PHP, seperti bahasa pemrograman lainnya, menggunakan loop untuk melakukan tindakan berulang. PHP memiliki jenis loop berikut:

untuk putaran

Perulangan for memiliki definisi formal berikut:

Untuk ([inisialisasi penghitung]; [kondisi]; [pengubah penghitung]) ( // tindakan )

Pertimbangkan standar untuk loop:

"; } ?>

Bagian pertama dari deklarasi loop - $i = 1 - membuat dan menginisialisasi counter - variabel $i. Dan sebelum loop dieksekusi, nilainya akan sama dengan 1. Intinya, ini sama dengan mendeklarasikan variabel.

Bagian kedua adalah kondisi di mana loop akan dieksekusi. Dalam hal ini, loop akan berjalan hingga $i mencapai 10.

Bagian ketiga adalah menambah penghitung satu per satu. Sekali lagi, kita tidak perlu menambah satu. Anda dapat mengurangi: $i--.

Akibatnya, blok loop akan berjalan 9 kali hingga nilai $i menjadi sama dengan 10. Dan setiap kali nilai ini akan bertambah 1. Setiap pengulangan terpisah dari loop disebut iterasi. Dengan demikian, dalam kasus ini akan terjadi 9 iterasi.

while loop

Perulangan while memeriksa kebenaran suatu kondisi, dan jika kondisinya benar, maka blok ekspresi perulangan dijalankan:

"; $hitung++; ) ?>

Jika hanya ada satu pernyataan dalam blok while, maka kurung kurawal blok dapat dihilangkan:

"; ?>

do.. while loop

Perulangan do..while mirip dengan perulangan while, hanya sekarang blok perulangan dieksekusi, dan baru setelah itu kondisi diperiksa. Artinya, meskipun kondisinya salah, blok loop akan dieksekusi setidaknya sekali:

"; $hitung++; ) while($hitung<10) ?>

melanjutkan dan menghentikan pernyataan

Terkadang muncul situasi ketika Anda ingin keluar dari loop tanpa menunggu sampai selesai. Dalam hal ini, kita dapat menggunakan pernyataan break:

80) ( break; ) echo "Kuadrat dari $i adalah $result
"; } ?>

Dan jika tiba-tiba hasil operasi ternyata lebih dari 80, maka loop keluar.

Pernyataan continue juga digunakan untuk mengontrol loop. Itu melompat ke iterasi berikutnya dari loop:

"; } ?>

Ketika program dieksekusi, ketika nilai $i menjadi sama dengan 5, transisi ke iterasi berikutnya akan terjadi, dan semua ekspresi lain yang mengikuti setelah pernyataan continue tidak akan dieksekusi.

Perulangan for adalah salah satu perulangan yang paling banyak digunakan dalam bahasa pemrograman apa pun. Pada artikel ini, kita akan melihat lebih dekat PHP for loop.

untuk pernyataan loop di PHP

Perulangan for di PHP mengeksekusi blok kode beberapa kali berdasarkan hitungan. Dalam hal ini, berapa kali blok kode harus dieksekusi ditentukan sebelumnya sebelum memasuki badan loop.

for adalah salah satu jenis perulangan yang paling kompleks. Di PHP, for loop berperilaku mirip dengan C . Berikut struktur sintaksnya:

untuk(ekspresi1;ekspresi2;ekspresi3) pernyataan;

Dalam uraian di atas kata kunci untuk poin ke loop. Tanda kurung mendefinisikan ekspresi dan kemudian pernyataan yang akan dieksekusi.

Bagaimana cara kerja for loop di PHP?

Untuk memahami cara kerja perulangan for, kita perlu memahami ketiga ekspresi ini. Expression: expresison1 adalah yang pertama, yang dieksekusi hanya sekali sebelum memasuki loop. Itu dilakukan tanpa syarat. Artinya, pertama kali sebelum memasuki loop, ekspresi akan dieksekusi.

Ekspresi1 disebut ekspresi inisialisasi karena digunakan untuk menginisialisasi penghitung yang digunakan dalam ekspresi2 dan ekspresi3 .

ekspresi2( pemeriksaan kondisi) diperiksa untuk menentukan apakah kondisi memungkinkan pernyataan dieksekusi atau tidak. Pertama kali dijalankan setelah expression1 , lalu sebelum memasuki loop.

Biasanya ekspresi2 berisi pernyataan bersyarat untuk memeriksa apakah kondisi mengembalikan benar atau salah. Jika kondisi mengembalikan true , maka pernyataan yang ditulis dalam loop akan dieksekusi.

Expression3 dieksekusi pada akhir setiap iterasi setelah pernyataan loop. Biasanya pemrogram menyebutnya sebagai ekspresi kenaikan. Mereka menggunakan ekspresi ini untuk menaikkan nilai penghitung yang diinisialisasi dalam ekspresi1 dan diuraikan dalam ekspresi2.

Ketiga ekspresi itu opsional. Anda juga dapat membuat loop PHP seperti di bawah ini:

untuk(;;) pernyataan;

for(;ekspresi2;ekspresi3) pernyataan;

Jika kita memiliki banyak baris dalam perulangan for, gunakan kurung kurawal seperti yang ditunjukkan di bawah ini:

untuk(ekspresi1;ekspresi2;ekspresi3)( pernyataan1; pernyataan2; pernyataan3; )

untuk diagram alur loop

Pada langkah pertama, ekspresi1 dijalankan. Jika Anda melihat diagram alur dengan hati-hati, Anda akan menemukan bahwa tidak ada syarat untuk ekspresi1. ekspresi1 seperti aliran program yang sedang dieksekusi.

Pada langkah selanjutnya, segera setelah expression1 , expression2 dieksekusi. Ini memeriksa apakah kondisi loop benar. Jika kondisinya benar, maka loop akan terus berjalan, jika tidak, utas akan keluar dari loop.

Jika ekspresi2 mengembalikan true , maka langkah ketiga akan mengeksekusi pernyataan yang ditulis dalam for loop. Setelah itu, ekspresi ketiga expression3 akan dieksekusi.

Setelah ekspresi3 dieksekusi, utas memeriksa ekspresi2 lagi, dan loop berlanjut hingga ekspresi2 mengembalikan false .

Contoh sederhana for loop di PHP

Pertimbangkan kasus ketika Anda perlu menampilkan angka dari 1 hingga 10 yang dipisahkan dengan koma. Di bawah ini adalah kodenya:

untuk($i=1;$i<=10;$i++) print $i.",";

Atau dengan kurung kurawal:

untuk($i=1;$i<=10;$i++) { print $i.","; }

Ekspresi $i=1 adalah ekspresi1 , yang mengevaluasi tanpa syarat. Kami menggunakan ekspresi1 untuk menginisialisasi variabel ke $i=1 .

Ekspresi2 adalah ekspresi $i:

$i=1; untuk(;$i<=10;$i++) { print $i.","; }

$i=1; untuk(;$i<=10;) { print $i.","; $i++; }

Ekspresi kompleks dalam for loop

Anda dapat menulis tiga ekspresi dalam for loop. Kita bisa menulis banyak pernyataan di setiap ekspresi dalam for loop. Operator harus dipisahkan dengan koma.

Perhatikan contoh kode sebelumnya untuk mengeluarkan angka dari 1 sampai 10 . Dengan beberapa operator dalam sebuah ekspresi, Anda dapat menulis kode di bawah ini:

untuk($i=1; $i<=10; print $i . ",", $i++);

Di sini, ekspresi3 adalah print $i.',', $i++ , yang menggabungkan dua pernyataan, salah satunya adalah print $i. ',' dan yang kedua adalah $i++ .

Di atas adalah contoh di mana kami menggunakan banyak operator di expression3 . Tetapi dimungkinkan juga untuk menggunakan banyak operator dalam ekspresi apa pun. Sebagai contoh:

Demikian pula, Anda dapat mencetak semua angka ganjil kurang dari 10 dengan kode berikut:

Array dan for loop di PHP

Dengan loop for PHP, Anda dapat melakukan iterasi melalui array. Misalnya, kami memiliki larik yang berisi nama orang yang berbeda. Kita perlu menampilkan semua nama:

$nama = array("Ankur", "John", "Joy"); $hitung = hitung($nama); for($penghitung=0;$penghitung<$count;$counter++){ print $names[$counter]; }

Anda juga dapat menggunakan larik multidimensi dalam perulangan for:

$nama = array(array("id" => 1, "nama" => "Ankur"), array("id" => 2, "nama" => "Joe"), array("id" => 3, "nama" => "Yohanes");); $hitung = hitung($nama); untuk ($hitung = 0; $hitung< $count; $counter++) { print "Name".$names[$counter]["name"]." ID".$names[$counter]["id"]."n"; }

Bersarang untuk loop

Anda dapat menggunakan loop for bersarang di PHP. Contoh:

$metrix = larik(larik(1, 2, 3), larik(2, 1, 3), larik(3, 2, 1),); $hitung = hitung($metrix); untuk ($hitung = 0; $hitung< $count; $counter++) { $c_count = count($metrix[$counter]); for ($child = 0; $child < $c_count; $child++) { echo $metrix[$counter][$child]; } }

Kami memiliki array multidimensi dan kami menggunakan dua PHP untuk loop untuk menampilkan nilai elemennya.

Saat menggunakan perulangan bersarang, Anda dapat menggunakan ekspresi for perulangan induk pada anaknya. Sebagai contoh:

untuk ($i = 1; $i<= 5; $i++) { for ($j = 1; $j <= $i; $j++) { echo "*"; } echo "
"; }

Program di atas adalah salah satu yang paling populer untuk menampilkan karakter * dalam bentuk segitiga siku-siku.

Peningkatan dalam for loop

Di hampir setiap contoh di atas, kami telah menggunakan ekspresi3 , yang merupakan ekspresi terakhir, sebagai instruksi kenaikan. Selain itu, kami sering menambah nilainya dengan satu di semua contoh, seperti $i++ atau $j++ dan seterusnya. Tapi kita bisa menambah penghitung sesuai dengan kebutuhan kita. Misalnya, untuk mencetak semua angka ganjil dari 1 hingga 15 , Anda dapat menginisialisasi loop ke 1 dan mengulang hingga 15 , menambah penghitung sebanyak 2 :

for($hitung = 1; $hitung<=15;$counter=$counter+2){ print $counter.","; }

Output dari kode di atas adalah " 1,3,5,7,9,11,13,15 ". Di sini kita menaikkan variabel counter dengan +2 menggunakan ekspresi $counter=$counter+2 .

Keluar dari for loop

Anda dapat memutus loop dalam kondisi tertentu menggunakan kata kunci break. Itu bukan bagian dari loop dan digunakan untuk menghentikan eksekusi dari pernyataan for , foreach , while , do-while , dan switch . Mari kita lihat bagaimana kata kunci break menghentikan perulangan for.

Contoh sederhana di mana kami menampilkan semua angka dalam array hingga 100 :

$rangkaian = array(1, 8, 5, 3, 100, 9, 7); untuk ($i = 0, $hitung = hitung($seri); $i<= $count; $i++) { if (100 == $series[$i]) { break; } echo $series[$i] . " "; }

Di sini kita memutus perulangan dengan memeriksa apakah nilai elemen array sama dengan 100 .

Anda juga dapat memecah loop PHP bersarang melalui array dengan meneruskan secara mendalam, seperti break 1 , break 2 , dan seterusnya. Lihat contoh di bawah ini:

for ($i = 0;; $i++) ( switch ($i) ( case 1: echo "Ini adalah satu"; break 1; //Ini hanya akan memutus pernyataan switch case 2: echo "Ini adalah dua"; break 1 ; // Ini sekali lagi hanya akan merusak pernyataan switch case 3: echo "Ini tiga"; break 2; //Ini akan merusak switch dan for loop) )

Di sini break 1 akan memutus pernyataan switch, tetapi break 2 akan memutus pernyataan saat ini serta pernyataan induk, yaitu switch dan for .

Menggunakan continue dalam for loop

Di bagian sebelumnya, kita belajar cara keluar dari lingkaran. Tetapi bagaimana jika Anda ingin melewatkan satu iterasi dari perulangan dan kembali ke perulangan? Untuk melakukan ini, PHP memiliki kata kunci continue.

Ingat contoh menampilkan angka ganjil. Yang kami lakukan hanyalah memulai loop pada 1 , menambah penghitung sebesar 2 dan menampilkan hasilnya. Mari terapkan contoh ini menggunakan continue :

untuk ($i = 0; $i< 20; $i++) { if ($i % 2 == 0) { continue; } echo $i . ","; }

Pada contoh di atas, kita menguji ekspresi $i%2 == 0 dan jika benar menggunakan kata kunci continue, kita lewati sisa loop dan kembali ke ekspresi3 ($i++) lalu ke ekspresi2 ($i :

Terkadang Anda perlu mentransfer data dari tabel database ke array menggunakan PHP.

PHP foreach loop dapat digunakan seperti ini:

foreach($array_name as $value)( //kode yang akan dieksekusi )

foreach($array_name as $key =>$value)( // //kode yang akan dieksekusi )

Contoh penggunaan foreach loop dengan array numerik

Dalam contoh ini, kita akan membuat sebuah array dari lima elemen dengan nilai numerik. Loop foreach PHP kemudian akan digunakan untuk mengulang melalui array itu. Di dalam foreach loop, kami menggunakan echo untuk mencetak nilai array:

Lihat demo dan kode

Contoh dengan kunci dan nilai array

Contoh ini menjelaskan cara lain untuk menggunakan foreach loop PHP. Untuk melakukan ini, kami membuat array asosiatif dari tiga elemen. Di dalamnya terdapat nama-nama karyawan ( sebagai kunci) dan upah ( sebagai nilai-nilai):

Lihat demo dan kode

Contoh mengubah nilai elemen array dalam foreach loop

Anda juga dapat menggunakan foreach array PHP untuk mengubah nilai elemen array. Ini dilakukan dengan menggunakan "&" sebelum "$" untuk variabel nilai. Sebagai contoh:

&$nilai_elemen

Nilai akan diubah. Agar lebih jelas, perhatikan contoh berikut.

Dalam contoh ini, kami telah membuat array numerik dengan lima elemen. Setelah itu, foreach loop digunakan untuk menampilkan nilai elemen.

Kemudian kami membuat foreach loop lain, di mana "& " ditambahkan sebelum $value_of_element . Di dalam kurung kurawal, kami menetapkan nilai baru ke elemen array.

Untuk melihat perbedaan sebelum dan sesudah nilai baru diberikan, array ditampilkan menggunakan fungsi print_r().

Lihat demo dan kode

Untuk apa foreach loop PHP digunakan?

PHP foreach loop digunakan untuk beroperasi pada array. Ini berulang pada setiap elemennya.

Anda juga dapat menggunakan loop for untuk bekerja dengan array. Misalnya, menggunakan properti panjang untuk mendapatkan panjang array dan kemudian menerapkannya sebagai operator maks. Tapi foreach membuatnya lebih mudah karena dirancang untuk bekerja dengan array.

Jika Anda bekerja dengan MySQL, siklus ini bahkan lebih cocok untuk ini. Misalnya, Anda dapat memilih beberapa baris dari tabel database dan meneruskannya ke array. Setelah itu, dengan menggunakan foreach loop, ulangi semua elemen array, lakukan beberapa tindakan.

Perhatikan bahwa Anda dapat menggunakan foreach loop dengan sebuah array, atau hanya dengan sebuah objek.

Menggunakan foreach loop

Di PHP, ada dua cara untuk menggunakan PHP foreach loop. Keduanya dijelaskan di bawah ini.

  • Sintaks untuk metode penggunaan pertama adalah:

foreach($array_name sebagai $nilai)( echo $nilai )

Dalam hal ini, Anda perlu menentukan nama array, dan kemudian variabel $value .

Untuk setiap iterasi, nilai elemen saat ini ditugaskan ke variabel $value. Setelah iterasi selesai, variabel diberi nilai elemen berikutnya. Demikian seterusnya hingga semua elemen array telah diiterasi.

  • Sintaks metode kedua ( PHP foreach sebagai nilai kunci):

Ini cocok untuk array asosiatif yang menggunakan pasangan kunci/nilai.

Selama setiap iterasi, nilai elemen saat ini akan ditetapkan ke variabel $value_of_element. Selain itu, kunci elemen ditugaskan ke variabel $key_of_element.

Jika Anda bekerja dengan array numerik, Anda dapat menggunakan metode pertama, yang tidak memerlukan kunci elemen.

Publikasi ini merupakan terjemahan dari artikel " PHP foreach loop 2 cara untuk menggunakannya» disiapkan oleh tim proyek yang bersahabat