Menuju lebih dalam (Going Deeper)
Jika Anda telah menaruh perhatian, Anda ingat bahwa di bagian sebelumnya saya memberi Anda cepat kursus kilat di PHP kontrol dasar struktur dan operator. Saya juga menunjukkan Anda bagaimana PHP dapat digunakan untuk memproses data yang dimasukkan ke formulir Web. Dalam tutorial ini, aku akan menggali lebih dalam PHP struktur operator dan kontrol, menunjukkan kepada Anda dua operator baru, sebuah alternatif if-else () pernyataan bersyarat, dan beberapa dari PHP loop lebih menarik. Jadi, teruslah membaca … ini baru akan semakin menarik!Beralih pada sekitar (Switching Things Around)
Alternatif if-else () kontrol struktur switch PHP-kasus () pernyataan, yang melakukan hal yang hampir sama. Terlihat seperti ini:switch (keputusan-variabel) ( kasus syarat pertama adalah benar: melakukan ini! kasus kondisi kedua benar: melakukan ini! ... dan seterusnya ... )
Aku akan membuat ini sedikit lebih jelas dengan menulis ulang salah satu contoh sebelumnya dari segi switch () pernyataan:
<html> <head></head> <body> <?php // get form selection $day = $_GET['day']; // check value and select appropriate item switch ($day) { case 1: $special = 'Chicken in oyster sauce'; break; case 2: $special = 'French onion soup'; break; case 3: $special = 'Pork chops with mashed potatoes and green salad'; break; default: $special = 'Fish and chips'; break; } ?> <h2>Today's special is:</h2> <?php echo $special ?> </body> </html>
- Sisa kata kunci ini digunakan untuk keluar dari switch () pernyataan blok dan segera pindah ke baris berikut ini.
- Kata kunci default yang digunakan untuk melaksanakan pernyataan default ketika variabel berlalu untuk beralih () tidak memenuhi kondisi apapun yang tercantum di dalam blok.
Untuk informasi lebih pada switch () statement, lihat http://www.php.net/manual/en/control-structures.switch.php.
Kreatif conditional
Biasanya, saat membuat dan memproses formulir di PHP, Anda akan menempatkan form HTML dalam satu file, dan menangani pengolahan bentuk melalui naskah PHP yang terpisah. Namun, dengan kekuatan pernyataan bersyarat yang Anda inginkan, Anda dapat menggabungkan kedua halaman menjadi satu.Bagaimana Anda melakukan ini? Sederhana. Yang perlu Anda lakukan adalah memberikan nama ke bentuk menyerahkan kontrol, dan kemudian periksa apakah wadah khusus variabel $_POST berisi nama ketika pertama script load up. Jika ya, formulir sudah diserahkan, dan Anda dapat memproses data, jika tidak, bahwa pengguna belum menyerahkan formulir dan karena itu Anda perlu menghasilkan awal, bentuk terisi. Jadi, dengan menguji keberadaan atau ketiadaan mengirimkan variabel ini, PHP yang pintar pemrogram dapat menggunakan naskah PHP tunggal untuk menghasilkan baik bentuk awal, dan output setelah sudah diserahkan, yang sesuai.
Berikut adalah contoh sederhana:
<html> <head></head> <body> <?php /* if the "submit" variable does not exist, the form has not been submitted - display initial page */ if (!isset($_POST['submit'])) { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> Enter your age: <input name="age" size="2"> <input type="submit" name="submit" value="Go"> </form> <?php } else { /* if the "submit" variable exists, the form has been submitted - look for and process form data */ // display result $age = $_POST['age']; if ($age >= 21) { echo 'Come on in, we have alcohol and music awaiting you!'; } else { echo 'You're too young for this club, come back when you're a little older'; } } ?> </body> </html>
Perhatikan bahwa untuk bekerja, tombol kirim Anda harus memiliki nilai yang diberikan kepada para “nama” atribut, dan Anda harus memeriksa bahwa nilai dalam pernyataan kondisional utama. Dan jika anda bertanya-tanya, yang $ _SERVER array adalah sebuah variabel PHP khusus yang selalu menyimpan informasi server, termasuk path dan nama yang sedang mengeksekusi skrip.
Selanjutnya, loop.
Satu per Satu (One by one)
Bagi anda yang belum terbiasa dengan istilah, sebuah loop adalah struktur kontrol yang memungkinkan Anda untuk mengulangi set sama phppernyataan atau perintah berulang-ulang (jumlah aktual pengulangan bisa menjadi nomor yang Anda tentukan, atau tergantung pada pemenuhan satu atau lebih kondisi).
Sekarang, terakhir kali keluar Anda melihat beberapa perbandingan dan operator logika, yang membantu dalam membangun pernyataan kondisional. Karena segmen ini tutorial akan berfokus pada loop, ini adalah waktu yang tepat untuk memperkenalkan Anda dengan PHP auto-auto-increment dan pengurangan operator, yang melihat banyak digunakan dalam konteks ini.
Auto-increment operator adalah operator PHP dirancang untuk secara otomatis kenaikan nilai variabel terpasang oleh 1. Hal ini diwakili oleh dua “plus” tanda-tanda (++). Potongan kode ini harus menjelaskan hal itu:
<?php // define $total as 10 $total = 10; // increment it $total++; // $total is now 11 echo $total; ?>
Ada auto-pengurangan sesuai (–), operator yang tidak tepat sebaliknya:
<?php // define $total as 10 $total = 10; // decrement it $total--; // $total is now 9 echo $total; ?>
Menjadi Kotak (Being Square)
Pertama – dan sederhana – loop untuk belajar di PHP adalah yang disebut while () loop, yang terlihat seperti ini:while (kondisi benar) (
melakukan ini!
)
Dalam kasus ini, asalkan kondisi mengevaluasi ditetapkan sebagai benar – ingat apa yang Anda pelajari di Bagian sebelumnya? – Pernyataan PHP dalam kurung kurawal akan terus mengeksekusi. Segera setelah kondisi menjadi salah, loop akan pecah dan pernyataan-pernyataan berikut ini akan dieksekusi.
Berikut adalah contoh singkat yang menunjukkan while () loop:
<html> <head></head> <body> <form action="squares.php" method="POST"> Print all the squares between 1 and <input type="text" name="limit" size="4" maxlength="4"> <input type="submit" name="submit" value="Go"> </form> </body> </html>
<html> <head></head> <body> <?php // set variables from form input $upperLimit = $_POST['limit']; $lowerLimit = 1; // keep printing squares until lower limit = upper limit while ($lowerLimit <= $upperLimit) { echo ($lowerLimit * $lowerLimit).' '; $lowerLimit++; } // print end marker echo 'END'; ?> </body> </html>
Loop dulu, pertanyaan berikutnya nanti (Loop First, Ask Questions Later)
Sementara () loop menjalankan satu set pernyataan sementara kondisi tertentu adalah benar. Tapi apa yang terjadi jika kondisi benar pada iterasi pertama dari loop itu sendiri? Dalam contoh sebelumnya, jika anda masukkan nilai 0 pada form, while () loop tidak akan mengeksekusi sekali pun. Coba sendiri dan Anda akan melihat apa yang saya maksud.Jika Anda berada dalam situasi di mana anda harus menjalankan serangkaian pernyataan, paling tidak, sekali, PHP menawarkan do-while () loop. Inilah yang menjadi seperti ini:
do (
melakukan ini!
) while (kondisi yang benar)
Mari kita contoh untuk lebih cepat memahami perbedaan antara while () dan do-while ():
<?php $x = 100; // while loop while ($x == 700) { echo "Running..."; break; } ?>
<?php $x = 100; // do-while loop do { echo "Running..."; break; } while ($x == 700); ?>
Sekarang mari kita merevisi naskah PHP sebelumnya sehingga berjalan setidaknya satu kali, terlepas dari nilai yang dimasukkan ke dalam bentuk:
<html> <head></head> <body> <?php // set variables from form input $upperLimit = $_POST['limit']; $lowerLimit = 1; // keep printing squares until lower limit = upper limit do { echo ($lowerLimit * $lowerLimit).' '; $lowerLimit++; } while ($lowerLimit <= $upperLimit); // print end marker echo ' END'; ?> </body> </html>
Baca lebih lanjut tentang while () dan do-while () loop di http://www.php.net/manual/en/control-structures.while.php dan http://www.php.net/manual/en / control-structures.do.while.php.
Melakukannya Bilangan (Doing it by Numbers)
Baik while () dan do-while () loop terus iterate selama ekspresi kondisional yang ditetapkan tetap berlaku. Tetapi bagaimana jika Anda perlu menjalankan set tertentu pernyataan sejumlah tertentu kali – misalnya, pencetakan serangkaian nomor urut tiga belas, atau mengulang set tertentu sel-sel lima kali? Dalam kasus tersebut, programmer pintar untuk meraih () loop …The for () loop biasanya terlihat seperti ini:
for (nilai awal counter; kondisi nilai baru counter) (
melakukan ini!
)
Tampak seperti omong kosong? Yah, bertahan di sana selama satu menit … yang “counter” di sini adalah sebuah variabel PHP yang diinisialisasi dengan sebuah nilai numerik, dan melacak berapa kali loop dijalankan. Sebelum setiap pelaksanaan loop, maka “kondisi” diuji. Jika mengevaluasi ke true, loop akan mengeksekusi sekali lagi dan tepat counter akan bertambah, jika mengevaluasi false, loop akan pecah dan garis-garis berikut akan dijalankan sebagai gantinya.
Berikut adalah contoh sederhana yang menunjukkan bagaimana lingkaran ini dapat digunakan:
<html> <head> <basefont face="Arial"> </head> <body> <?php // define the number $number = 13; // use a for loop to calculate tables for that number for ($x = 1; $x <= 10; $x++) { echo "$number x $x = ".($number * $x)."<br />"; } ?> </body> </html>
Selanjutnya, aku telah membangun sebuah untuk () loop dengan $ x sebagai variabel counter, diinisialisasi ke 1. dan ditetapkan bahwa loop harus menjalankan tidak lebih dari 10 kali. Auto-increment operator (dibahas sebelumnya) secara otomatis akan menambahkan counter oleh 1 setiap kali loop dijalankan. Dalam loop, counter dikalikan dengan jumlah, untuk menciptakan tabel perkalian, dan echo () digunakan untuk menampilkan hasil pada halaman.
Membalikkan Tabel (Turning Tables)
Ketika Anda hanya melihat, sebuah untuk () loop yang sangat menarik – dan berguna – pemrograman membangun. Contoh berikut menggambarkan kegunaannya dalam cara yang seharusnya menimbulkan perasaan cinta kepada pemrogram HTML.<html> <head></head> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> Enter number of rows <input name="rows" type="text" size="4"> and columns <input name="columns" type="text" size="4"> <input type="submit" name="submit" value="Draw Table"> </form> <?php if (isset($_POST['submit'])) { echo "<table width = 90% border = '1' cellspacing = '5' cellpadding = '0'>"; // set variables from form input $rows = $_POST['rows']; $columns = $_POST['columns']; // loop to create rows for ($r = 1; $r <= $rows; $r++) { echo "<tr>"; // loop to create columns for ($c = 1; $c <= $columns;$c++) { echo "<td> </td> "; } echo "</tr> "; } echo "</table> "; } ?> </body> </html>
Untuk informasi lebih contoh untuk () loop dalam tindakan, kunjungi http://www.php.net/manual/en/control-structures.for.php.
Loop yang sering digunakan dalam kombinasi dengan salah satu PHP tipe data yang lebih kompleks, hewan yang dikenal sebagai array. Itu keseluruhan topik dalam dirinya sendiri, dan sesungguhnya aku akan membicarakannya secara rinci dalam segmen berikutnya tutorial ini. Lalu aku akan menunjukkan kepada Anda bagaimana array, loop dan bentuk semua bekerja sama untuk membuat kompleks penciptaan bentuk-bentuk Web semudah makan kue. Semua itu dan lebih dalam pada bagian berikutnya
Tidak ada komentar:
Posting Komentar