Dalam PHP, gelung while ialah struktur gelung biasa. Ia membenarkan blok kod untuk dilaksanakan secara berterusan sehingga syarat tertentu tidak lagi dipenuhi. Dalam artikel ini, kami akan memperkenalkan sintaks gelung while secara terperinci, cara menggunakannya dan beberapa contoh aplikasi praktikal.
Gelung while adalah sama dengan gelung while dalam bahasa pengaturcaraan lain dan mempunyai format sintaks berikut:
while (条件) { 代码块 }
di mana, 条件
mewakili gelung Syarat untuk meneruskan, iaitu, blok kod akan dilaksanakan apabila keadaan true
. Dan 代码块
ialah pernyataan yang akan dilaksanakan dalam badan gelung.
Pada penghujung setiap gelung, gelung sekali lagi akan menentukan sama ada 条件
ialah true
. Jika ya, blok kod dalam badan gelung akan terus dilaksanakan, jika tidak, gelung akan tamat.
Maksudnya, gelung while boleh dilaksanakan 0 atau lebih kali, bergantung pada sama ada 条件
berpuas hati.
Di bawah ini kami menggunakan contoh mudah untuk menunjukkan penggunaan gelung while. Katakan kita ingin mengeluarkan semua integer dari 1 hingga 10. Kita boleh melakukan ini menggunakan gelung sementara:
$i = 1; while ($i <= 10) { echo $i . "\n"; $i++; }
Dalam kod di atas, kami mula-mula menetapkan pembolehubah $i
kepada nilai 1. Kemudian gunakan gelung sementara untuk mengeluarkan semua integer dari 1 hingga 10. Keadaan gelung ialah $i <= 10
, iaitu, selagi nilai i
tidak melebihi 10, blok kod dalam badan gelung akan dilaksanakan.
Dalam badan gelung, kita mula-mula menggunakan fungsi echo
untuk mengeluarkan nilai semasa $i
dan menambah aksara baris baharu pada penghujungnya. Kemudian tambahkan 1 pada nilai $i
supaya integer seterusnya dikeluarkan pada kali seterusnya melalui gelung.
Jalankan kod di atas, kita akan mendapat output berikut:
1 2 3 4 5 6 7 8 9 10
Dapat dilihat bahawa gelung while akan sentiasa melaksanakan kod dalam badan gelung apabila keadaan gelung $i <= 10
berpuas hati, yang mengeluarkan semua integer dari 1 hingga 10.
While loop ialah struktur gelung yang sangat berkuasa dan fleksibel. Kita boleh menggunakan gelung while untuk menyelesaikan banyak masalah praktikal, seperti:
Kita boleh menggunakan gelung while untuk melintasi tatasusunan dan memproses setiap elemen di dalamnya. Sebagai contoh, katakan kita mempunyai tatasusunan yang menyimpan beberapa nombor, dan kami ingin mengeluarkan semua elemen dalam tatasusunan yang lebih besar daripada 10. Kita boleh menggunakan gelung sementara untuk mencapai ini:
$nums = [8, 15, 6, 12, 10, 14]; $i = 0; while ($i < count($nums)) { if ($nums[$i] > 10) { echo $nums[$i] . "\n"; } $i++; }
Dalam kod di atas, kami mula-mula mentakrifkan Array $nums
, yang mengandungi beberapa nombor. Kemudian pembolehubah $i
ditakrifkan dengan nilai awal 0.
Seterusnya, kami menggunakan gelung sementara untuk melelaran melalui semua elemen dalam tatasusunan $nums
. Keadaan gelung ialah $i < count($nums)
, iaitu nilai $i
kurang daripada panjang tatasusunan $nums
. Dalam setiap gelung, kami mula-mula menentukan sama ada elemen semasa lebih besar daripada 10, dan jika ya, gunakan echo
untuk mengeluarkan nilai elemen. Kemudian naikkan nilai $i
sebanyak 1 supaya gelung seterusnya akan memproses elemen seterusnya.
Jalankan kod di atas, kita akan mendapat output berikut:
15 12 14
Seperti yang anda lihat, program ini berjaya mengeluarkan semua elemen yang lebih besar daripada 10 dalam tatasusunan.
Kadangkala, kita perlu membiarkan program berjalan sehingga syarat tertentu dipenuhi sehingga ia dihentikan secara manual. Pada masa ini, kita boleh menggunakan gelung sementara untuk mencapai ini.
Sebagai contoh, katakan kita mahu atur cara terus mengeluarkan masa semasa sehingga pengguna memasukkan arahan tertentu Ini boleh dicapai menggunakan gelung sementara:
while (true) { echo date('Y-m-d H:i:s') . "\n"; $input = readline(); if ($input === 'stop') { break; } }
Dalam kod di atas. , kami Gunakan gelung sementara untuk mengeluarkan masa semasa dan menunggu input pengguna. Keadaan gelung ialah true
, yang bermaksud bahawa blok kod dalam badan gelung akan dilaksanakan tidak kira dalam apa jua keadaan.
Dalam setiap gelung, kami mula-mula mengeluarkan masa semasa menggunakan fungsi date
dan menambah aksara baris baharu pada penghujungnya. Kemudian gunakan fungsi readline
untuk menunggu input pengguna. Jika pengguna memasukkan stop
, gunakan pernyataan break
untuk keluar dari gelung.
Jalankan kod di atas, kita akan melihat bahawa hasil output sentiasa disegarkan sehingga kita memasukkan stop
untuk menghentikan program.
Kita boleh menggunakan gelung sementara untuk membaca fail baris demi baris. Sebagai contoh, katakan kita mempunyai fail bernama test.txt
, di mana setiap baris mengandungi nombor, dan kami mahu membaca semua nombor di dalamnya dan memaparkannya Ini boleh dicapai menggunakan gelung sementara:
$file = fopen('test.txt', 'r'); while (($line = fgets($file)) !== false) { echo $line; } fclose($file);
di atas Dalam kod, kami mula-mula menggunakan fungsi fopen
untuk membuka fail test.txt
dan menggunakan mod r
untuk menunjukkan bahawa fail itu baca sahaja. Kemudian gunakan gelung sementara untuk membaca fail baris demi baris, dan kembalikan false
untuk menamatkan gelung apabila penghujung fail dibaca.
Dalam setiap gelung, kami menggunakan fungsi fgets
untuk membaca fail baris demi baris dan menetapkan baris baca kepada pembolehubah $line
. Kemudian gunakan fungsi echo
untuk mengeluarkan kandungan baris semasa.
Akhir sekali, kami menutup pemegang fail menggunakan fungsi fclose
.
Perlu diambil perhatian bahawa jika kandungan fail terlalu besar, membaca baris demi baris boleh menyebabkan program berjalan lebih perlahan atau memori melimpah. Pada masa ini, anda boleh mempertimbangkan untuk menggunakan kaedah lain untuk membaca fail.
Gelung while ialah struktur gelung yang biasa digunakan dalam PHP dan boleh digunakan dalam pelbagai senario aplikasi praktikal. Apabila menggunakan gelung while, anda perlu memberi perhatian kepada ketepatan keadaan gelung, jika tidak, ia boleh mengakibatkan gelung tak terhingga atau pelaksanaan yang tidak dijangka.
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara menggunakan php while loop statement. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!