kondisi pada PHP digunakan untuk menyeleksi suatu kondisi akan dijalankan atau tidak.
Contohnya dalam proses login di email, jika username dan password yang dimasukkan benar
maka kita dapat masuk melihat inbox email kita, tapi jika salah maka tidak akan bisa masuk.
Pengeleksian kondisi ini (apakah username benar atau salah) menggunakan STRUKTUR
KONDISI.Secara sederhana, struktur kontrol mengizinkan Anda untuk mengontrol aliran
eksekusi kode di aplikasi Anda. Secara umum, program dijalankan secara berurutan, baris demi
baris, dan struktur kontrol mengizinkan Anda untuk mengubah aliran itu, biasanya tergantung
pada kondisi tertentu.
Struktur kontrol adalah fitur inti dari bahasa PHP yang mengizinkan skrip Anda merespons
secara berbeda terhadap input atau situasi yang berbeda. Ini dapat mengizinkan skrip Anda
memberikan respons berbeda berdasarkan input pengguna, konten file, atau beberapa data
lainnya.
Seperti yang Anda lihat pada diagram di atas, pertama-tama suatu kondisi diperiksa. Jika
kondisinya benar, kode kondisional akan dieksekusi. Yang penting untuk dicatat di sini adalah
bahwa eksekusi kode berlanjut secara normal setelah eksekusi kode kondisional.
Mari kita perhatikan contoh berikut ini.
Pada contoh di atas, program memeriksa apakah pengguna login atau tidak. Berdasarkan status
login pengguna, mereka akan diarahkan ke halaman Login atau halaman My Account. Dalam
kasus ini, struktur kontrol mengakhiri eksekusi kode dengan mengarahkan pengguna ke halaman
lain. Ini adalah kemampuan penting dari bahasa PHP.
if
else
elseif
switch
while
do - while
for
foreach
dan banyak lagi
Mari kita lihat beberapa struktur kontrol ini dengan contoh.
Pada bagian sebelumnya, kita mempelajari dasar-dasar struktur kontrol di PHP dan kegunaannya
dalam pengembangan aplikasi. Di bagian ini, kita akan membahas beberapa struktur kontrol
penting yang akan sering Anda gunakan dalam pengembangan aplikasi sehari-hari.
If
Susunan dari If mengizinkan Anda untuk mengeksekusi sepotong kode jika ekspresi yang
diberikan bersama dengan itu bernilai true.
1<?php
2$age = 50;
3
4if ($age > 30)
5{
6 echo "Your age is greater than 30!";
7}
8?>
Contoh di atas akan menampilkan usia Anda lebih dari 30! pesan sejak ekspresi bernilai true.
Bahkan, jika Anda ingin menjalankan hanya satu pernyataan, contoh di atas dapat ditulis ulang
seperti yang ditunjukkan dalam cuplikan berikut tanpa tanda kurung.
1<?php
2$age = 50;
3
4if ($age > 30)
5 echo "Your age is greater than 30!";
6?>
Di sisi lain, jika Anda memiliki lebih dari satu pernyataan untuk mengeksekusi, Anda harus
menggunakan kurung, seperti yang ditunjukkan dalam potongan berikut.
1<?php
2if (is_array($user))
3{
4 $user_id = isset($user['user_id']) ? $user['user_id'] : '';
5 $username = isset($user['username']) ? $user['username'] : '';
6 // and more statements...
7}
8?>
Lain
Anda selalu menggunakan pernyataan else dalam hubungan dengan pernyataan if . Pada
dasarnya, Anda dapat mendefinisikannya seperti yang ditunjukkan pada pseudocode berikut.
1if (expression)
2{
3 // code is executed if the expression evaluates to TRUE
4}
5else
6{
7 // code is executed if the expression evaluates to FALSE
8}
Mari kita revisi contoh sebelumnya untuk memahami cara kerjanya.
01<?php
02$age = 50;
03
04if ($age < 30)
05{
06 echo "Your age is less than 30!";
07}
08else
09{
10 echo "Your age is greater than or equal 30!";
11}
12?>
Jadi, ketika Anda memiliki dua pilihan, dan salah satunya harus dieksekusi, Anda dapat
menggunakan if-else construct.
Else If
Kita bisa menganggap pernyataan elseif sebagai perpanjangan dari if-else construct. Jika
Anda memiliki lebih dari dua pilihan untuk dipilih, Anda dapat menggunakan
pernyataan elseif .
Mari kita pelajari struktur dasar pernyataan elseif , seperti yang ditunjukkan pada pseudocode
berikut.
01if (expression1)
02{
03 // code is executed if the expression1 evaluates to TRUE
04}
05elseif (expression2)
06{
07 // code is executed if the expression2 evaluates to TRUE
08}
09elseif (expression3)
10{
11 // code is executed if the expression3 evaluates to TRUE
12}
13else
14{
15 // code is executed if the expression1, expression2 and expression3 evaluates to FALSE, a default choice
16}
Sekali lagi, mari kita coba memahaminya menggunakan contoh pada kasus.
01<?php
02$age = 50;
03
04if ($age < 30)
05{
06 echo "Your age is less than 30!";
07}
08elseif ($age > 30 && $age < 40)
09{
10 echo "Your age is between 30 and 40!";
11}
12elseif ($age > 40 && $age < 50)
13{
14 echo "Your age is between 40 and 50!";
15}
16else
17{
18 echo "Your age is greater than 50!";
19}
20?>
Seperti yang dapat Anda lihat dalam contoh di atas, kita memiliki beberapa kondisi, jadi kita
telah menggunakan serangkaian pernyataan elseif . Jika dalam semua kondisi yang bernilai
false, maka eksekusi pada kode yang disediakan di pernyataan else terakhir.
Switch
Pernyataan switch agak mirip dengan pernyataan elseif yang mana kita baru saja membahas di
bagian sebelumnya. Satu-satunya perbedaan adalah ekspresi yang sedang diperiksa.
Dalam hal pernyataan elseif Anda memiliki serangkaian kondisi yang berbeda, dan tindakan
yang sesuai akan dijalankan berdasarkan suatu kondisi. Di sisi lain, jika Anda ingin
membandingkan variabel dengan nilai yang berbeda, Anda dapat menggunakan
pernyataan switch .
Seperti biasa, contoh adalah cara terbaik untuk memahami pernyataan switch .
01<?php
02$favourite_site = 'Code';
03
04switch ($favourite_site) {
05 case 'Business':
06 echo "My favourite site is business.tutsplus.com!";
07 break;
08 case 'Code':
09 echo "My favourite site is code.tutsplus.com!";
10 break;
11 case 'Web Design':
12 echo "My favourite site is webdesign.tutsplus.com!";
13 break;
14 case 'Music':
15 echo "My favourite site is music.tutsplus.com!";
16 break;
17 case 'Photography':
18 echo "My favourite site is photography.tutsplus.com!";
19 break;
20 default:
21 echo "I like everything at tutsplus.com!";
22}
23?>
Seperti yang Anda lihat pada contoh di atas, kita ingin memeriksa nilai
variabel $favourite_site dan berdasarkan pada nilai variabel $favourite_site kita ingin cetak
pesan.
Untuk setiap nilai yang ingin Anda periksa dengan variabel $favourite_site , Anda harus
mendefinisikan case block. Jika nilainya dicocokkan dengan sebuah case, kode yang terkait
dengan case block tersebut akan dieksekusi. Setelah itu, Anda perlu menggunakan
pernyataan break untuk mengakhiri eksekusi kode. Jika Anda tidak menggunakan
pernyataan break , eksekusi skrip akan dilanjutkan hingga blok terakhir di dalam pernyataan
switch.
Terakhir, jika Anda ingin mengeksekusi potongan kode yang jika nilai variabel tidak cocok
dengan kasus apa pun, Anda dapat mendefinisikannya di bawah default block. Tentu saja, itu
tidak wajib — itu hanya cara untuk menyediakan kasus default.
Jadi itulah kisah struktur kontrol bersyarat. Kita akan membahas loop di PHP di bagian
selanjutnya.
Loop
Loop di PHP berguna ketika Anda ingin mengeksekusi sepotong kode berulang kali hingga suatu
kondisi bernilai false. Jadi kode dieksekusi berulang kali selama kondisi bernilai true, dan segera
setelah kondisi bernilai false, skrip terus mengeksekusi kode setelah loop.
Flowchart berikut menjelaskan cara kerja loop di PHP.
Seperti yang Anda lihat pada screenshot di atas, sebuah loop berisi suatu kondisi. Jika kondisi
bernilai true, kode kondisional dijalankan. Setelah eksekusi kode kondisional, kontrol kembali ke
kondisi loop, dan ini berlanjut hingga kondisi bernilai false.
Di bagian ini, kita akan membahas berbagai jenis loop yang didukung di PHP.
While Loop
While loop digunakan ketika Anda ingin mengeksekusi sepotong kode berulang kali sampai
kondisi while bernilai false.
01<?php
02$max = 0;
03echo $i = 0;
04echo ",";
05echo $j = 1;
06echo ",";
07$result=0;
08
09while ($max < 10 )
10{
11 $result = $i + $j;
12
13 $i = $j;
14 $j = $result;
15
16 $max = $max + 1;
17 echo $result;
18 echo ",";
19}
20?>
Jika Anda terbiasa dengan seri Fibonacci, Anda mungkin mengenali apa yang dilakukan oleh
program di atas — ia mengeluarkan seri Fibonacci untuk sepuluh angka pertama. While loop
umumnya digunakan ketika Anda tidak tahu jumlah iterasi yang akan terjadi dalam satu loop.Do-
While Loop
Do-while loop sangat mirip dengan while loop, dengan satu-satunya perbedaan adalah bahwa
kondisi while diperiksa pada akhir iterasi pertama. Dengan demikian, kita dapat menjamin
bahwa kode loop dijalankan setidaknya satu kali, terlepas dari hasil ekspresi while.
1do
2{
3 // code to execute
4} while (expression);
Mari kita lalui ke contoh kasus untuk memahami kemungkinan penggunaan kasus di mana Anda
dapat menggunakan do-while loop.
01<?php
02$handle = fopen("file.txt", "r");
03if ($handle)
04{
05 do
06 {
07 $line = fgets($handle);
08
09 // process the line content
10
11 } while($line !== false);
12}
13fclose($handle);
14?>
Pada contoh di atas, kita mencoba membaca file baris demi baris. Pertama, kita telah membuka
file untuk dibaca. Dalam kasus kita, kita tidak yakin apakah file tersebut mengandung konten.
Jadi, kita perlu menjalankan fungsi fgets setidaknya sekali untuk memeriksa apakah suatu file
tersebut berisi konten. Jadi kita bisa menggunakan do-while loop disini. do-
while mengevaluasi kondisi setelah iterasi pertama loop.
For Loop
Secara umum, for loop digunakan untuk mengeksekusi sepotong kode untuk jumlah waktu
tertentu. Dengan kata lain, jika Anda sudah tahu berapa kali Anda ingin mengeksekusi blok
kode, itu adalah for loop yang merupakan pilihan terbaik.
1<?php
2for ($i=1; $i<=10; ++$i)
3{
4 echo sprintf("The square of %d is %d.</br>", $i, $i*$i);
5}
6?>
Program di atas menampilkan kuadrat dari sepuluh angka pertama. Ini menginisialisasi $i ke 1,
berulang selama $i kurang dari atau sama dengan 10, dan menambahkan 1 ke $i pada setiap
iterasi.
For Each
Foreach loop digunakan untuk mengalihkan variabel array. Jika Anda memiliki variabel array,
dan Anda ingin melewati setiap elemen array itu, foreach loop adalah pilihan terbaik.
01<?php
02$fruits = array('apple', 'banana', 'orange', 'grapes');
03foreach ($fruits as $fruit)
04{
05 echo $fruit;
06 echo "<br/>";
07}
08
09$employee = array('name' => 'John Smith', 'age' => 30, 'profession' => 'Software Engineer');
10foreach ($employee as $key => $value)
11{
12 echo sprintf("%s: %s</br>", $key, $value);
13 echo "<br/>";
14}
15?>
Jika Anda ingin mengakses nilai array, Anda bisa menggunakan versi pertama foreach loop
seperti yang ditunjukkan pada contoh di atas. Di sisi lain, jika Anda ingin mengakses kunci dan
nilai, Anda dapat melakukannya seperti yang ditunjukkan pada contoh $employee di atas.