PHP foreach loop: dua cara untuk menggunakannya. Bagaimana menggunakan while dan do-while loop Untuk apa loop php?

Pernyataan loop sangat sering digunakan dalam bahasa pemrograman apa pun. Hampir semua tugas menggunakan loop, jadi perlu memberi perhatian khusus untuk mempelajarinya. Ada 4 jenis loop di PHP:

  • while (periksa kondisi awalan);
  • do..while (periksa kondisi postperfix);
  • untuk;
  • untuk setiap ;

Tiga loop pertama mirip dengan loop standar dari bahasa pemrograman (C++, Pascal), dan yang terakhir (foreach) mirip dengan Perl. Mari kita lihat tiga pernyataan loop pertama secara terpisah, dan yang terakhir akan dibahas dalam pelajaran terpisah. Perhatikan bahwa setiap loop memungkinkan loop bersarang, yaitu loop di dalam loop.

while loop pernyataan dalam PHP

Pernyataan loop yang cukup sederhana yang sintaksnya sangat mirip dengan sintaks di bahasa pemrograman lain.

Sintaks while pada PHP adalah:

// mungkin kondisi boolean yang kompleks( operator; ) ?>

Kondisinya adalah ekspresi yang harus benar (benar) atau salah (salah). Jika kondisi benar, pernyataan dalam kurung kurawal dieksekusi. Setelah itu, kondisi kembali diperiksa kebenarannya. Jika kondisi salah, maka program tidak akan masuk ke loop. Dalam kasus pernyataan tunggal, kurung kurawal dapat dihilangkan.

Catatan: suatu kondisi dapat terdiri dari sangat banyak ekspresi menggunakan aljabar logika &&, ||, ! dll.

Perlu diperhatikan fakta bahwa jika ada operator dalam kondisi tersebut, maka mereka harus berubah, jika tidak, loop hanya akan berputar.

Berikut adalah contoh sederhana menggunakan while :

"; $i++; ) ?>

Contoh di atas akan menghasilkan keluaran sebagai berikut:

saya = 0
saya = 1
saya = 2
saya = 3
saya = 4

Perhatikan bahwa $i=5 tidak akan dicetak, karena i bertambah di akhir loop, dan oleh karena itu, segera setelah mencapai 5, kondisi untuk memasuki loop tidak akan terpenuhi.

Break pernyataan dalam PHP

Ada pernyataan break khusus untuk segera menghentikan loop. Operator ini sering digunakan untuk keluar dari infinite loop ketika kondisi selalu benar. Misalnya, contoh di atas dapat ditulis sebagai berikut:

// kondisi selalu benar( gema "i =".$i."
"; $i++; jika($i>=5) istirahat; ) ?>

Hasilnya akan sama seperti pada contoh sebelumnya.

melanjutkan pernyataan dalam PHP

lanjutkan pernyataan; mengakhiri iterasi loop saat ini, pindah ke awal, tetapi tidak menghentikan loop sepenuhnya. Sebagai contoh:

// kondisi selalu benar( gema "i =".$i."
"; $i++; if($i>=5) break; selain itu lanjutkan; ) ?>

Hasil dari contoh ini akan sama dengan contoh sebelumnya.

Seperti yang diperlihatkan oleh latihan, lanjutkan; dan istirahat sering membantu menerapkan siklus yang kompleks.

Berikut contoh lain penggunaan while loop:

"; } //hasil dari dua while ini akan berbeda //karena bentuk postprefix dan prefix$i=0; while (++$i //bentuk awalan ( echo "i =".$i."
"; } ?>

do... while perulangan pernyataan di PHP

Pernyataan do...while sangat mirip dengan pernyataan while biasa. Satu-satunya perbedaan mereka adalah waktu pemeriksaan kondisi. Perulangan do...while akan dieksekusi setidaknya sekali, karena pemeriksaan dilakukan di bagian paling akhir. Sintaks do...while :

Pertimbangkan sebuah contoh:

"; $i++; ) while($i

Hasilnya mirip dengan contoh yang dianggap pertama.

Perlu dicatat bahwa lanjutkan; dan istirahat juga dapat digunakan dalam siklus tersebut.

untuk pernyataan loop di PHP

Sintaks dari pernyataan for adalah sebagai berikut:

Pada awalnya, inisialisasi variabel terjadi. usloviya harus mengandung satu atau lebih kondisi terminasi loop. Shag berisi pernyataan yang dieksekusi pada akhir setiap iterasi. Sebagai contoh:

"; } ?>

Hasil eksekusi loop ini akan sama seperti pada contoh sebelumnya.

Keuntungan besar menggunakan for adalah badan loop dapat dihilangkan, dan semua operasi yang diperlukan dilakukan di bagian shag. Untuk kejelasan, berikut adalah contohnya:

", $i++); ?>

Komentar: echo tidak diperbolehkan di shag .

Langkah dan kondisi siklus bisa sangat beragam. Misalnya, Anda dapat menulis bukan i++, tetapi i+=5 (bertambah 5).

Setiap bagian dari perulangan for dapat dihilangkan, dalam hal ini hasilnya adalah siklus tanpa akhir:

for mengizinkan penggunaan continue; dan istirahat .

Akhirnya, kami akan memberikan contoh dua konstruksi loop yang setara, tetapi satu untuk dan yang lainnya sementara

Setara dengan yang berikut:

Seringkali nyaman untuk dapat mengakhiri loop lebih awal ketika kondisi tertentu terjadi. Pernyataan break memberikan kesempatan seperti itu. Ia bekerja dengan konstruksi seperti: while, do while, for, foreach atau switch .

Pernyataan break dapat menggunakan argumen numerik opsional yang memberitahukan berapa banyak struktur bersarang yang akan dihentikan. Nilai default dari argumen numerik adalah 1, yang mengakhiri loop saat ini. Jika pernyataan switch digunakan dalam loop, maka break/break 1 hanya keluar dari pernyataan switch.

\n"; break 1; /* Keluar dari pernyataan switch saja. */ case 10: echo "Iterasi 10; Kami pergi
\n"; break 2; /* Keluar dari pernyataan switch dan while loop. */ ) ) // contoh lain untuk ($bar1 = -4; $bar1< 7; $bar1++) { // проверка деления на ноль if ($bar1 == 0) { echo "Выполнение остановлено: деление на ноль невозможно."; break; } echo "50/$bar1 = ",50/$bar1,"
"; } ?>

Tentu saja, kadang-kadang Anda lebih suka melewatkan salah satu iterasi dari perulangan daripada mengakhiri perulangan seluruhnya, dalam hal ini dilakukan dengan pernyataan continue.

melanjutkan

Anda dapat menggunakan pernyataan continue untuk berhenti memproses blok kode saat ini di badan loop dan beralih ke iterasi berikutnya. Ini berbeda dari pernyataan break karena tidak menghentikan perulangan, tetapi hanya melompat ke iterasi berikutnya.

Pernyataan continue, seperti break, dapat menggunakan argumen numerik opsional yang menentukan berapa banyak level loop bersarang yang akan dilewati oleh iterasi lainnya. Nilai default dari argumen numerik adalah 1, yang hanya melewati sisa loop saat ini.

"; lanjutkan; ) echo "50/$bar1 = ",50/$bar1,"
"; } ?>

Perhatikan bahwa selama perulangan, nilai nol dari variabel $counter dilewati, tetapi perulangan dilanjutkan dengan nilai berikutnya.

pergi ke

goto adalah operator cabang tanpa syarat. Ini digunakan untuk melompat ke bagian lain dari kode program. Tempat yang ingin Anda tuju dalam program ditunjukkan menggunakan label (pengidentifikasi sederhana) diikuti dengan titik dua. Untuk melompat, label yang diinginkan diletakkan setelah pernyataan goto.

Contoh sederhana penggunaan pernyataan goto:

Pernyataan goto memiliki beberapa batasan penggunaan. Label target harus berada di file yang sama dan dalam konteks yang sama, yang berarti Anda tidak bisa keluar dari fungsi atau metode, Anda juga tidak bisa masuk ke dalam salah satunya. Anda juga tidak dapat melompat ke dalam pernyataan loop atau switch apa pun. Tapi itu bisa digunakan untuk keluar dari konstruksi ini (dari loop dan pernyataan switch). Biasanya pernyataan goto digunakan sebagai pengganti multi-level break .

"; ) echo "setelah perulangan - sebelum label"; // instruksi tidak akan dieksekusi end: echo "Setelah label"; ?>

Selamat tinggal. Alexey Gulynin sedang menghubungi. Pada artikel terakhir, kami melihat tautan di PHP. Pada artikel ini, saya ingin berbicara tentang berbagai loop di PHP. Totalnya ada 4 jenis:

  • iteratif untuk loop
  • Loop dengan prasyarat
  • Loop dengan kondisi akhir
  • putaran depan

Mari kita segera menganalisis semua siklus dengan contoh. Biarlah ada tugas seperti itu: perlu 10 elemen untuk menampilkan kuadrat dari angka tersebut.
1) iteratif untuk loop:

"; } ?>

Beberapa kondisi dapat digunakan dalam loop ini. Biarkan perlu untuk memeriksa apakah elemennya sama dengan 6, lalu jangan tampilkan yang lain (pernyataan break belum diketahui). Anda dapat menulis seperti ini:

"; } ?>

2) Loop dengan prasyarat:

"; $i++; ) ?>

Dalam hal ini, kuadrat dari 10 angka pertama juga akan ditampilkan. Perulangan ini disebut perulangan prasyarat karena kondisinya diperiksa di awal, tidak seperti perulangan berikutnya.

3) Loop dengan kondisi akhir:

"; $i++; ) while ($i<= 10) ?>

Dalam hal ini, kondisi diperiksa setelah blok kode dieksekusi, dan blok kode ini akan dieksekusi sekali dalam hal apa pun.

4) Putaran depan. Loop ini dirancang untuk mengulangi nilai array dan hanya muncul di versi keempat bahasa PHP. Array adalah sekumpulan kunci tertentu, yang masing-masing sesuai dengan nilai tertentu. Array akan dibahas lebih detail di artikel mendatang. Saya sarankan berlangganan pembaruan agar Anda tidak ketinggalan.
Sintaks untuk loop ini adalah:

Foreach (array as $key=>$value) ( ​​​​blok pernyataan )

$key mewakili kunci, $nilai — nilai. Konstruksi ini tidak mengubah larik asli. Untuk dapat memodifikasi array asli, Anda harus menggunakan tipe referensi:

Foreach (array as $key=>&$value) ( ​​​​blok pernyataan )

Mari gunakan loop ini untuk menampilkan konten semua variabel lingkungan (array $_SERVER ):

$nilai) ( gema " $kunci => $nilai
"; } ?>

Pastikan untuk mengetik contoh ini dan lihat cara kerjanya.

Sangat sering ada situasi ketika perlu menghentikan eksekusi loop. Untuk melakukan ini, Anda harus menggunakan konstruksi break. Konstruk ini memiliki satu parameter opsional. Secara default, parameter ini adalah 1, mis. kami menghentikan eksekusi loop saat ini. Mari kita ambil contoh: buat 2 siklus berulang dari 1 hingga 5 dan jika angkanya sama dengan 5, maka keluarkan angkanya. Dalam hal ini, jika kita hanya menggunakan break , maka angka 5 akan ditampilkan sebanyak 5 kali. Jika kita menulis break(2) , maka hanya sekali:

"; break; //jalankan skrip lalu tulis break(2); ) ) ) ?>

Operator ini berguna untuk loop pencarian. Segera setelah kami menemukan apa yang kami cari, kami segera menyelesaikan siklusnya.

Pernyataan continue, di sisi lain, melewatkan iterasi loop saat ini dan beralih ke iterasi berikutnya. Anda juga dapat menentukan tingkat sarang dari loop dalam tanda kurung.
Saya tidak akan memberikan contoh, saya akan memberikan pekerjaan rumah untuk operator ini.

Dalam beberapa kasus, perlu untuk mengeksekusi kode sampai hasil yang diinginkan tercapai. PHP menyediakan while , for , dan foreach loop untuk ini.

Sintaks while loop PHP

Sintaksis siklusketika:

Contoh penggunaan while loop di PHP:

Dalam contoh php while loop di atas, variabel penghitung $i pertama kali diinisialisasi ke 0 .

sedangkan kondisi loop adalah $i< 10 . Это означает, что мы проверяем, меньше ли переменная, чем 10.

Segala sesuatu yang terlampir dalam kurung kurawal adalah instruksi (tubuh) dari loop. Mereka diulangi selama kondisi kembali benar. Pada contoh di atas, $i dicetak ke layar, dan kemudian variabel counter bertambah 1. Hal ini penting agar kondisi loop akhirnya gagal. Jika kondisi perulangan selalu terpenuhi, misalnya karena lupa menambahkan variabel penghitung $i, maka skrip akan memasuki perulangan tak terbatas. Untungnya, PHP akan berhenti mengeksekusi skrip Anda setelah beberapa saat.

Anda dapat membuat kondisi loop dan badan loop serumit yang Anda suka. Misalnya, gunakan while di dalam saat php, gunakan php while untuk mengulangi array ( array ) atau tentukan lebih dari satu variabel penghitung:

$min) ( echo "hitung1: $hitung1; hitungan2: $hitung2
"; $hitung1 += 2; // Singkatan dari $hitung1 = $hitung1 + 2; $hitung2 -= 3; // Singkatan dari $hitung2 = $hitung2-3; ) ?>

Contoh mendefinisikan dua variabel: $ counter 1 dan $ counter 2 . Satu variabel bertambah 2 dan variabel lainnya dikurangi 3. Perulangan while dijalankan saat kedua kondisi terpenuhi $ hitung 1< $ max и $ count 2 >$min.

Efek kata kunci break dan continue pada loop

Dengan perintah merusak bisa menghentikan eksekusi while loop PHP. Katakanlah kita sedang mencari pengguna tertentu. Kemudian Anda dapat melakukan iterasi melalui semua pengguna dalam loop sementara. Jika kita menemukan pengguna yang diinginkan, lalu hentikan loop dengan kata kunci merusak.

Contoh sederhana penggunaan kata kunci break:

sementara ($hitung< $max) { if ($count == 10) { echo "Останавливаемся на числе 10"; break; } echo "$count,"; $counter += $increment; // увеличивает $count на значение $increment } ?>

Kode ini mengulang angka dalam urutan menaik dari 0 ke $max = 30 , menambahkan nilai $ increment , dengan kata lain angka 2, ke variabel $ count. Tetapi jika variabel $ count sama dengan 10, itu akan keluar dari while loop in php.

Lanjutkan kata kunci tidak mengakhiri siklus sementara di php benar-benar , tetapi hanya melewatkan sisa loop body. Contoh di bawah ini menunjukkan hal ini:

sementara ($hitung< $max) { $counter += $increment; // увеличивает $payer на $increment if ($count >= 10 && $hitung<= 15) { echo "Число между 10 и 15
"; melanjutkan; )

gema "$hitung
"; } ?>

Perulangan ini dimulai dari 0 dan menaikkan penghitung hingga nilai $max . Variabel $ counter selalu bertambah dengan nilai dari variabel $ increment. Artinya, dibutuhkan nilai 0, 2, 4, dst.

Jika variabel $count memiliki nilai antara 10 dan 15, teks dan pernyataan akan ditampilkan di layar melanjutkan akan melewatkan sisa ekspresi di badan loop. Akibatnya, kita melihat bahwa angka 10, 12 dan 14 tidak ditampilkan.

PHP do-while loop

Sebuah modifikasi kecil ketika adalah do-while loop. Dalam hal ini, kondisi loop diperiksa hanya setelah eksekusi badannya. Ini berarti badan loop akan dieksekusi setidaknya sekali.

Sintaks pengulangan do-while:

Misalkan kita ingin menghasilkan angka acak, yang harus antara 0 dan 10 atau antara 20 dan 30. Menurut definisi rand ( $ min , $maks), Anda dapat secara acak menghasilkan angka antara $min dan $maks:

10 && $acak< 20) { $random = rand (0, 30); }

echo "Nomor acak kita: $acak"; ?>

Menggunakan putaran php melakukanketika, adalah mungkin untuk mendapatkan nilai ekspresi tanpa menginisialisasi variabel $random. Tubuh loop dieksekusi sebelum kondisi diperiksa. Maka contoh di atas akan terlihat seperti ini:

10 && $acak< 20);

echo "Nomor acak kita: $acak"; ?>

Untuk pemula, do-while loop bisa sedikit membingungkan. Jika Anda tidak sepenuhnya memahami tujuannya, maka ini bukan masalah. do-while loop jarang digunakan dalam praktek.

10 tahun yang lalu

Sekadar catatan tentang penggunaan pernyataan continue untuk melewatkan sisa loop - pastikan Anda tidak mengeluarkan pernyataan continue dari dalam case SWITCH - melakukan hal itu tidak akan melanjutkan while loop, melainkan pernyataan switch itu sendiri.

Sementara itu mungkin tampak jelas bagi sebagian orang, saya butuh sedikit pengujian, jadi semoga ini membantu orang lain.

5 tahun lalu

Aneh bahwa manual menyatakan ...
"Terkadang, jika ekspresi while dievaluasi menjadi FALSE sejak awal, pernyataan bersarang bahkan tidak akan dijalankan sekali pun. "

Karena KADANG tidak bisa

Jika berperilaku seperti itu, maka itu adalah bug, karena SELALU tidak boleh menjalankan pernyataan bersarang sekali pun jika ekspresi WHILE dievaluasi menjadi FALSE sejak awal.

Cara lain untuk keluar dari while loop adalah dengan menggunakan pernyataan BREAK.. lihat di manual.

Dan jika ekspresi bernilai NULL sama dengan FALSE
while (ekspresi sama dengan NULL)( )

14 tahun yang lalu

Hanya sebuah catatan untuk stuart - alasan untuk perilaku ini adalah karena menggunakan konstruksi while(value = each(array)) menambah penghitung internal array saat di-loop-nya. Oleh karena itu, jika Anda ingin mengulang loop, Anda perlu mengatur ulang penghitung. misalnya:

$satu = array("10", "20", "30", "40");
$dua = array("a", "b", "c", "d");

$i=0;
sementara($i< count($one)) {
reset($dua);
while($a = masing-masing($dua)) (
echo $a." - ".$satu[$i].", ";
}
$i++;

a - 10, b - 10, c - 10, d - 10, a - 20, b - 20, c - 20, d - 20, a - 30, b - 30, c - 30, d - 30, a - 40, b - 40, c - 40, d - 40,

15 tahun yang lalu

While dapat melakukan keajaiban jika Anda memerlukan sesuatu untuk mengantri menulis ke file sementara sesuatu yang lain memiliki akses ke sana.

Inilah contoh sederhana saya:

Fungsi tulis ($data , $file , $write_mode = "w" ) (
$kunci = $berkas . ".kunci" ;
// jalankan perbaikan tulis, untuk menghentikan bentrokan yang mungkin terjadi
write_fix($lock);
// buat file kunci baru setelah write_fix() untuk sesi penulisan ini
sentuh($kunci);
// tulis ke file Anda
$buka = ​​fopen($file , $mode_tulis );
fwrite($buka , $data );
fclose($buka);
// bunuh kunci Anda saat ini
batalkan tautan($lock);
}

Fungsi write_fix ($lock_file ) (
while(file_exists ($lock_file )(
// lakukan sesuatu di sini?
// mungkin tidur selama beberapa mikrodetik
// untuk menjaga stabilitas, jika ini akan terjadi
// tunggu sebentar ??
}
}

?>

Metode ini tidak disarankan untuk digunakan dengan program yang memerlukan beberapa detik untuk menulis ke file, karena fungsi while akan menghabiskan banyak siklus proses. Namun, metode ini berhasil, dan mudah diterapkan. Itu juga mengelompokkan fungsi penulisan menjadi satu fungsi yang mudah digunakan, membuat hidup lebih mudah. :-)

17 tahun yang lalu

Di akhir while (list / each) loop pointer array akan berada di akhir.
Ini berarti while loop kedua pada array itu akan dilewati!

Anda dapat mengembalikan pointer array dengan fungsi reset($myArray).

$ArrayKu =array("aa" , "bb" , "cc" , "dd" );
setel ulang($arraysaya);
while (daftar ($key , $val ) = masing-masing ($myArray )) echo $val ;
?>

7 tahun yang lalu

bukannya penggunaan ini;

$arr = array("jeruk" , "pisang" , "apel" , "raspberry" );

$i = 0 ;
sementara ($i< count ($arr )) {
$a = $arr [ $i ];
gema $a . "\n" ;
$i++;
}
// atau
$i = 0 ;
$c = hitung($arr);
sementara ($i< $c ) {
$a = $arr [ $i ];
gema $a . "\n" ;
$i++;
}
?>

Ini bisa lebih efisien;

while ($a = $arr [ 1 * $i++]) echo $a . "\n" ;
?>

16 tahun yang lalu

Saya melakukan tes melintasi array (sederhana, tapi panjang, array numerik dengan tombol numerik). Tes saya memiliki siklus per metode, dan mengalikan setiap elemen array dengan 100.. Ini adalah hasil saya:

******************************************************
30870 Melintasi Larik Elemen


0,2373 seg kemudian -> while (list ($key, $val) = each ($array)) ENDS


0,1916 seg kemudian -> while (list ($key,) = each ($array)) ENDS


0,1714 seg kemudian -> foreach ($array AS $key=>$value) ENDS


0,0255 seg kemudian -> while ($next = next($array)) ENDS


0,1735 seg kemudian -> foreach ($array AS $value) ENDS
**************************************************************

foreach lebih gemuk dari sementara (daftar - masing-masing), benar.
Namun, while(next) lebih cepat dari foreach.

Ini adalah kode pemenang:

$array = $simpan;
waktu_uji("",1);
foreach ($array AS $key=>$nilai)
test_time("foreach (\$array AS \$key=>\$nilai)");

$array = $simpan;
waktu_uji("",1);
reset($array);
sementara ($berikutnya = berikutnya($array))
( $kunci = kunci($array);
$array[$kunci] = $array[$kunci] * 100;
}
test_time("sementara (\$berikutnya = berikutnya(\$array))");
*********************************************************
Peningkatannya tampak besar, tetapi tidak sedramatis itu dalam praktik nyata. Hasil bervariasi ... Saya memiliki array dua dimensi yang sangat panjang, dan melihat perbedaan tidak lebih dari 2 detik, tetapi pada skrip 140+ detik. Perhatikan bahwa Anda kehilangan kendali atas nilai $key (kecuali jika Anda memiliki kunci numerik, yang cenderung saya hindari), tetapi ini tidak selalu diperlukan.

Saya biasanya tetap berpegang pada foreach. Namun, kali ini, saya mendapatkan error Allowed Memory Size Exceeded dengan Apache. Ingat foreach menyalin array asli, jadi ini sekarang membuat dua array 2D besar di memori dan banyak pekerjaan untuk Apache. Jika Anda mendapatkan kesalahan ini, periksa loop Anda. Jangan gunakan seluruh array pada foreach. Sebaliknya dapatkan kunci dan mengakses sel secara langsung. Juga, coba dan gunakan unset dan Referensi pada array besar.

Bekerja pada array dan loop Anda adalah solusi yang jauh lebih baik daripada menyimpan ke tabel sementara dan membatalkan pengaturan (jauh lebih lambat).

14 tahun yang lalu

Speedtestnya menarik. Tapi cara tercepat sepertinya mengandung jebakan untuk pemula yang baru menggunakannya karena cepat dan cepat itu keren ;)

Berjalan melalui array dengan next() akan memotong entri pertama, karena ini adalah cara kerja next() ;)

Jika Anda benar-benar perlu melakukannya dengan cara ini, pastikan larik Anda berisi entri kosong di awal. Cara lain adalah dengan menggunakan

while ($this = current ($array ))(
lakukan_sesuatu($ini);
selanjutnya($array);
}
?>

Ada dampak pada kecepatan untuk yakin tapi saya tidak mengujinya. Saya akan menyarankan untuk tetap menggunakan metode konvensional karena current(),next() di while loop terlalu rawan kesalahan bagi saya.

4 tahun yang lalu

Cara keren untuk terus mengevaluasi sesuatu hingga gagal dalam ujian.

sementara (benar) (
if("tes" )( // apakah kondisi awal benar
// lakukan sesuatu yang juga mengubah kondisi awal
) else ( // kondisi gagal
merusak; // tinggalkan lingkaran
}
}
?>

4 tahun yang lalu

program pola piramida sederhana menggunakan while loop
$i = 1 ;
sementara($i<= 5 )
{
$j = 1 ;
sementara($j<= $i )
{
echo "*  " ;
$j++;
}
gema "
" ;
$i++;
}
?>
// atau sebagai alternatif Anda dapat menggunakan:
$i = 1 ;
sementara($i<= 5 ):

$j = 1 ;
sementara($j<= $i ):
echo "*  " ;
$j++;
sementara;

gema"
" ;
$i++;
sementara;
?>

11 tahun yang lalu

Karena fakta bahwa php hanya menginterpretasikan elemen yang diperlukan untuk mendapatkan hasil, saya merasa nyaman untuk menggabungkan kueri sql yang berbeda ke dalam satu pernyataan:

$q1 = "beberapa kueri pada satu set tabel";
$q2 = "kueri serupa di kumpulan tabel lain";

if (($r1 = mysql_query ($q1 )) && ($r2 = mysql_query ($q2 ))) (

Sementara (($baris = mysql_fetch_assoc ($r1 ))||($baris = mysql_fetch_assoc ($r2 ))) (

/* melakukan sesuatu dengan $row yang berasal dari $r1 dan $r2 */

}
}

?>

3 tahun yang lalu

// uji While Vs Untuk php 5.6.17

$t1 = waktu mikro(benar);
$a = 0 ;
while($a++<= 1000000000 );
$t2 = waktu mikro(benar);
$x1 = $t2 - $t1 ;
gema PHP_EOL , " > while($a++<= 100000000); : " , $x1 , "s" , PHP_EOL ;

$t3 = waktu mikro(benar);
untuk($a = 0 ; $a<= 1000000000 ; $a ++);
$t4 = waktu mikro(benar);
$x2 = $t4 - $t3 ;
gema PHP_EOL , "> untuk($a=0;$a<= 100000000;$a++); : " , $x2 , "s" , PHP_EOL ;

$t5 = waktu mikro(benar);
$a = 0 ; untuk(; $a++<= 1000000000 ;);
$t6 = waktu mikro(benar);
$x3 = $t6 - $t5 ;
gema PHP_EOL , " > $a=0; untuk(;$a++<= 100000000;); : " , $x3 , "s" , PHP_EOL ;

//> while($a++<= 100000000); = 18.509671926498s
//> untuk($a=0;$a<= 100000000;$a++); = 25.450572013855s
//> $a=0; untuk(;$a++<= 100000000;); = 22.614907979965s

// ===================

//> while($a++ != 100000000); : 18.204656839371s
//> for($a=0;$a != 100000000;$a++); : 25.025605201721s
//> $a=0; untuk(;$a++ != 100000000;); : 22.340576887131s

// ===================

//> while($a++< 100000000); : 18.383454084396s
//> untuk($a=0;$a< 100000000;$a++); : 25.290743112564s
//> $a=0; untuk(;$a++< 100000000;); : 23.28609919548s

?>

16 tahun yang lalu

Ini adalah cara mudah bagi Anda semua pembuat kalkulator untuk membuatnya melakukan faktorial. Kodenya adalah ini:

$c = ($a - 1 );
$d = $a ;
sementara ($c >= 1 )
{
$a = ($a * $c);
$c--;
}
print(" $d != $a " );
?>

$a berubah, begitu juga c, jadi kita harus membuat variabel baru, $d, untuk pernyataan akhir.