Cara menggunakan for di php

Pada tutorial kali ini kita akan membahas bagaimana cara menggunakan for dan foreach loop pada pemrograman PHP. Sebelumnya kita telah membahas tentang switch statement untuk pengambilan keputusan

Apa itu Looping…?

Perulangan atau perulangan adalah instruksi program yang diulang-ulang sampai batas yang diberikan untuk berhenti. Seringkali saat Anda menulis kode, Anda ingin blok kode yang sama dijalankan berulang kali dalam satu baris. Alih-alih menambahkan beberapa baris kode yang sama ke skrip, kita dapat menggunakan loop (pengulangan) untuk menjalankan perintah


Bagaimana Sintaks for loop?

sintaksis
untuk(nilai_awal;penghitung_ujian;penghitung_peningkatan){
// kode untuk dijalankan
}

Parameter

– nilai_awal. inisialisasi nilai iterasi
– test_counter. untuk evaluasi/pemeriksaan setiap pengulangan iterasi. Jika evaluasi benar, maka iterasi dilanjutkan. Jika pemeriksaan mendapat nilai salah maka perulangan akan berhenti
– penghitung_peningkatan. meningkatkan nilai iterasi

Contoh Kode

";
    }
?>

Keluaran Kode
Nomor th. 0
Nomor th. 1
Nomor th. 2
Nomor th. 3
Nomor th. 4
Nomor th. 5


Bagaimana Syntax of Looping foreach…?

Foreach iterasi hanya dapat dilakukan pada array dan digunakan untuk mengulang setiap pasangan nilai dalam array

Sintaksis
foreach($array sebagai $nilai){
// kode untuk dijalankan;
}

Untuk setiap iterasi loop, nilai elemen array ditempatkan ke dalam variabel $value. Penunjuk array dipindahkan satu per satu hingga mencapai elemen array terakhir

Contoh Kode

";
    }
?>

Keluaran Kode
Warna merah jambu
warna merah
Warna biru
Warna hitam
Cokelat

Contoh penggunaan kode foreach lainnya

";
    }
?>

Keluaran Kode
saya suka makan ayam
Saya suka makan kambing
Saya suka makan daging sapi

Itulah tutorial pemrograman PHP tentang penggunaan for dan foreach loop. Selanjutnya kita akan membahas tentang perintah function yang digunakan dalam pemrograman website. Semoga bermanfaat dan terima kasih

Semoga artikel ini bermanfaat bagi Anda. Jika ingin mengutip, baik itu sebagian atau seluruh isi artikel ini, harap sertakan link dofollow ke https. //planetsphp.ini. blogspot. com/2013/12/tutorial-php-using-repeat-for. html. Terima kasih sudah mampir untuk membaca artikel ini. Jangan lupa like dan share dan komen

Hai. pada kesempatan kali ini kita akan membahas salah satu bentuk perulangan yang populer dan sering digunakan (termasuk saya sendiri)  yaitu perulangan for pada PHP

PHP sendiri menyediakan beberapa fungsi loop yaitu

<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
0,
<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
1, dan
<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
2. Perbedaan antara
<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
0,
<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
1, dan
<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
2 adalah untuk for sudah diketahui jumlah pengulangannya, sedangkan
<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
0 dan
<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
1 belum diketahui berapa pengulangannya

I. Menulis Untuk Dalam PHP

Perulangan for dalam PHP dapat ditulis menggunakan kurung kurawal, titik dua, atau tanpa keduanya

// Kurung Kurawa, paling umum digunakan
for (ekspresi1; ekspresi2 ; ekspresi3) { 
	// kode 
}

// Colon
for (ekspresi1; ekspresi2 ; ekspresi3) :
	// kode 
endfor;

// Tanpa Keduanya
for (ekspresi1; ekspresi2 ; ekspresi3)
	statement;

Dalam menjalankan fungsi loop, PHP akan mengeksekusi dengan urutan sebagai berikut

  1. PHP akan terbaca  ________3______8
  2. Selanjutnya PHP akan mengevaluasi
    <?php
    for ($i = 1; $i <= 10; $i++) {
    	if ($i == 5) {
    		continue;
    	}
        echo $i; // 1 2 3 4 6 7 8 9 10
    }
    ?>
    _9, jika nilainya TRUE, maka
    <?php
    $bulan = array('1'=>'Januari', 
    			'Februari', 
    			'Maret' , 
    			'April' , 
    			'Mei', 
    			'Juni', 
    			'Juli', 
    			'Agustus', 
    			'September', 
    			'Oktober', 
    			'November', 
    			'Desember'
    		);
    $batas_waktu = '2015-11-10';
    echo '<table>
    		<tr>
    			<th>Bulan</th>
    			<th>Keterangan</th>
    		</tr>';
    for ($i = 1; $i <= count($bulan); $i++)
    {	
    	$bln_batas = date("m",strtotime($batas_waktu));
    	echo '<tr>
    			<td> ' . strtoupper($bulan[$i]) . ' </td>';
    		
    	if ($bln_batas == $i)
    		echo '<td>Batas waktu penulisan</td>';
    	else
    		echo '<td>-</td>';
    		
    	echo '</tr>';
    }
    
    echo '</table>';
    ?>
    0 yang ada di dalam kurung kurawal dieksekusi, jika bernilai FALSE maka perulangan dihentikan
  3. Setelah itu PHP akan mengevaluasi atau menjalankan
    <?php
    $bulan = array('1'=>'Januari', 
    			'Februari', 
    			'Maret' , 
    			'April' , 
    			'Mei', 
    			'Juni', 
    			'Juli', 
    			'Agustus', 
    			'September', 
    			'Oktober', 
    			'November', 
    			'Desember'
    		);
    $batas_waktu = '2015-11-10';
    echo '<table>
    		<tr>
    			<th>Bulan</th>
    			<th>Keterangan</th>
    		</tr>';
    for ($i = 1; $i <= count($bulan); $i++)
    {	
    	$bln_batas = date("m",strtotime($batas_waktu));
    	echo '<tr>
    			<td> ' . strtoupper($bulan[$i]) . ' </td>';
    		
    	if ($bln_batas == $i)
    		echo '<td>Batas waktu penulisan</td>';
    	else
    		echo '<td>-</td>';
    		
    	echo '</tr>';
    }
    
    echo '</table>';
    ?>
    1

begitu seterusnya sampai loop selesai, jika digambarkan dalam bentuk flowchart

Cara menggunakan for di php
Cara menggunakan for di php

Ketentuan tentang  ekspresi

Beberapa ketentuan terkait dengan penulisan ekspresi

  1. Semua ekspresi bisa kosong atau bisa memiliki lebih dari satu nilai yang dipisahkan dengan koma
  2. Semua ekspresi di
    <?php
    for ($i = 1; $i <= 10; $i++) {
    	if ($i == 5) {
    		continue;
    	}
        echo $i; // 1 2 3 4 6 7 8 9 10
    }
    ?>
    9 akan dievaluasi, tetapi untuk menentukan nilainya (BENAR atau SALAH - yang menentukan apakah loop berhenti atau berlanjut), ekspresi terakhir digunakan
  3. Jika
    <?php
    for ($i = 1; $i <= 10; $i++) {
    	if ($i == 5) {
    		continue;
    	}
        echo $i; // 1 2 3 4 6 7 8 9 10
    }
    ?>
    _9 kosong maka loop akan berjalan terus menerus hingga dihentikan oleh pernyataan break di dalam kurung kurawal

Berikut beberapa contoh penulisan for loop dengan berbagai ekspresi yang semuanya akan mencetak angka 1 s. d 10. (Bentuk 1 adalah bentuk yang sering (atau selalu) digunakan (termasuk saya))

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>

II. Langsung (lewati) Untuk Loop Pada Nilai Tertentu

Saat menjalankan perulangan, terkadang pada kondisi/nilai tertentu, kita ingin melewatinya (skip), untuk keperluan itu, kita dapat menggunakan pernyataan

<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);
$batas_waktu = '2015-11-10';
echo '<table>
		<tr>
			<th>Bulan</th>
			<th>Keterangan</th>
		</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{	
	$bln_batas = date("m",strtotime($batas_waktu));
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
	if ($bln_batas == $i)
		echo '<td>Batas waktu penulisan</td>';
	else
		echo '<td>-</td>';
		
	echo '</tr>';
}

echo '</table>';
?>
4 contoh

<?php
for ($i = 1; $i <= 10; $i++) {
	if ($i == 5) {
		continue;
	}
    echo $i; // 1 2 3 4 6 7 8 9 10
}
?>

AKU AKU AKU. Tips Optimasi untuk Looping di PHP

Berikut beberapa tips yang bisa kita terapkan agar perulangan for dapat dijalankan dengan cepat

1 Hindari memanggil fungsi dan mendefinisikan variabel yang nilainya tetap dalam loop

Fungsi ini bisa berupa fungsi PHP bawaan seperti

<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);
$batas_waktu = '2015-11-10';
echo '<table>
		<tr>
			<th>Bulan</th>
			<th>Keterangan</th>
		</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{	
	$bln_batas = date("m",strtotime($batas_waktu));
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
	if ($bln_batas == $i)
		echo '<td>Batas waktu penulisan</td>';
	else
		echo '<td>-</td>';
		
	echo '</tr>';
}

echo '</table>';
?>
5,
<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);
$batas_waktu = '2015-11-10';
echo '<table>
		<tr>
			<th>Bulan</th>
			<th>Keterangan</th>
		</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{	
	$bln_batas = date("m",strtotime($batas_waktu));
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
	if ($bln_batas == $i)
		echo '<td>Batas waktu penulisan</td>';
	else
		echo '<td>-</td>';
		
	echo '</tr>';
}

echo '</table>';
?>
6,
<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);
$batas_waktu = '2015-11-10';
echo '<table>
		<tr>
			<th>Bulan</th>
			<th>Keterangan</th>
		</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{	
	$bln_batas = date("m",strtotime($batas_waktu));
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
	if ($bln_batas == $i)
		echo '<td>Batas waktu penulisan</td>';
	else
		echo '<td>-</td>';
		
	echo '</tr>';
}

echo '</table>';
?>
7, dll atau fungsi yang kita buat sendiri, contoh berikut adalah pengulangan untuk mendapatkan nama bulan

<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);
$batas_waktu = '2015-11-10';
echo '<table>
		<tr>
			<th>Bulan</th>
			<th>Keterangan</th>
		</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{	
	$bln_batas = date("m",strtotime($batas_waktu));
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
	if ($bln_batas == $i)
		echo '<td>Batas waktu penulisan</td>';
	else
		echo '<td>-</td>';
		
	echo '</tr>';
}

echo '</table>';
?>

keluaran

Detail Bulan JANUARI–FEBRUARI–MARK–APRIL–MEI–JUNI–JULI–AGUSTUS–SEPTEMBER–OKTOBER–NOVEMBER Batas waktu penulisan DESEMBER–

dari contoh itu PHP akan. (1) memanggil fungsi

<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);
$batas_waktu = '2015-11-10';
echo '<table>
		<tr>
			<th>Bulan</th>
			<th>Keterangan</th>
		</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{	
	$bln_batas = date("m",strtotime($batas_waktu));
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
	if ($bln_batas == $i)
		echo '<td>Batas waktu penulisan</td>';
	else
		echo '<td>-</td>';
		
	echo '</tr>';
}

echo '</table>';
?>
_8, (2) fungsi
<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);
$batas_waktu = '2015-11-10';
echo '<table>
		<tr>
			<th>Bulan</th>
			<th>Keterangan</th>
		</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{	
	$bln_batas = date("m",strtotime($batas_waktu));
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
	if ($bln_batas == $i)
		echo '<td>Batas waktu penulisan</td>';
	else
		echo '<td>-</td>';
		
	echo '</tr>';
}

echo '</table>';
?>
_9 dan (3) mendefinisikan variabel
<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
0 berulang kali, tidak efisien karena akan memakan waktu dan sumber daya

Berbeda dengan fungsi

<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
1 yang memang diperlukan dalam perulangan, karena nilainya berubah sesuai nama bulan. Untuk itu, fungsi dan variabel yang nilainya tetap harus didefinisikan di luar loop, kode dapat ditulis ulang sebagai

<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>

atau

<?php
$bln_batas = date("m",strtotime($batas_waktu));
for ($i = 1, $jml_bln = count($bulan); $i <= $jml_bln, $i++)
{
	//code
}
?>

dari contoh diatas, waktu eksekusi lebih cepat karena fungsi count dan date, serta definisi variabel $bln_batas hanya dieksekusi satu kali. Pada kode diatas terdapat

<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
2, kode tersebut merupakan singkatan dari
<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
3

Praktek di lapangan bisa lebih kompleks, contohnya dengan contoh diatas kita akan menambahkan informasi deadline untuk suatu tahapan, misal output yang diinginkan adalah

Bulan Batas WaktuTahapTanggalJANUARIPerencanaan2015-01-31FEBRUARIAnalisis2015-02-28MARCHPerencanaan2015-03-31APRILimplementasi2015-04-30MAYEvaluasi2015-05-31JUNIPenggunaan2015-06-30JULI––AGUSTUS––SEPTEMBER––OKTOBER––ECEPBER–DEMBER––

Kode yang kami gunakan

<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);

// Informai yang diperoleh dari database
$tahapan = array(
				array('tahap' => 'Perencanaan',	'tgl' => '2015-01-31'),
				array('tahap' => 'Analisis',	'tgl' => '2015-02-28'),
				array('tahap' => 'Perancangan',	'tgl' => '2015-03-31'),
				array('tahap' => 'Penerapan',	'tgl' => '2015-04-30'),
				array('tahap' => 'Evaluasi',	'tgl' => '2015-05-31'),
				array('tahap' => 'Penggunaan',	'tgl' => '2015-06-30')
			);
echo '<table>
		<tr>
			<th rowspan="2">Bulan</th>
			<th colspan="2">Deadline</th>
		</tr>
		<tr>
			<th>Tahapan</th>
			<th>Tanggal</th>
		</tr>
	
		';

$jml_bln = 
for ($i = 1; $i <= count($bulan); $i++)
{	
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
		$data_tahapan = false;
		foreach ($tahapan as $tahap)
		{
			$bln_batas = date("m",strtotime($tahap['tgl']));
			if ($bln_batas == $i) {
				echo '<td>'.$tahap['tahap'].'</td>
					  <td>'.$tahap['tgl'].'</td>';
				$data_tahapan = true;
			}
			
		}
		if (!$data_tahapan)
				echo '<td>-</td>
					 <td>-</td>';
		
	echo '</tr>';
}
echo '</table>';
?>

dari data diatas terdapat pengulangan fungsi tanggal yaitu sebanyak 72 kali (12 x 6), dengan struktur data seperti diatas, agak rumit jika harus memenuhi kondisi ideal seperti contoh sebelumnya

Kondisi dapat dipenuhi, tetapi kode yang ditulis dapat menjadi lebih kompleks dan membutuhkan lebih banyak energi untuk memahaminya (tergantung kondisi lapangan)

Pada kondisi ini, kondisi ideal dapat dilanggar jika kode yang ditulis menjadi lebih sederhana dan mudah dipahami serta kinerja aplikasi juga tidak terganggu.

Namun jika tidak ada salahnya untuk mencobanya. Dengan sedikit perubahan, kita dapat menulis ulang kode di atas menjadi

<?php
$bulan = array('1'=>'Januari', 
			'Februari', 
			'Maret' , 
			'April' , 
			'Mei', 
			'Juni', 
			'Juli', 
			'Agustus', 
			'September', 
			'Oktober', 
			'November', 
			'Desember'
		);

// Informai yang diperoleh dari database
$tahapan = array(
				array('tahap' => 'Perencanaan',	'tgl' => '2015-01-31'),
				array('tahap' => 'Analisis',	'tgl' => '2015-02-28'),
				array('tahap' => 'Perancangan',	'tgl' => '2015-03-31'),
				array('tahap' => 'Penerapan',	'tgl' => '2015-04-30'),
				array('tahap' => 'Evaluasi',	'tgl' => '2015-05-31'),
				array('tahap' => 'Penggunaan',	'tgl' => '2015-06-30')
			);

foreach ($tahapan as $key => $tahap)
{
	$bln_batas = date("n",strtotime($tahap['tgl']));
	$ref_tahapan[$bln_batas] = $key;
}
echo '<table>
		<tr>
			<th rowspan="2">Bulan</th>
			<th colspan="2">Deadline</th>
		</tr>
		<tr>
			<th>Tahapan</th>
			<th>Tanggal</th>
		</tr>
	
		';

$jml_bln = count($bulan);
for ($i = 1; $i <= $jml_bln; $i++)
{	
	echo '<tr>
			<td> ' . strtoupper($bulan[$i]) . ' </td>';
		
			if (key_exists($i, $ref_tahapan))
			{
				echo '<td>'.$tahapan[$ref_tahapan[$i]]['tahap'].'</td>
					  <td>'.$tahapan[$ref_tahapan[$i]]['tgl'].'</td>';
			} 
			else
			{				
				echo '<td>-</td>
					 <td>-</td>';
			}
			
	echo '</tr>';
}
echo '</table>';
?>

pada kode di atas baris 26 s. d 30 kita membuat variabel baru bernama

<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
4 yang berupa array dengan kunci bulan dan indeks nilai dari array tahap, misalnya
<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
5 yang berarti bulan 1 mengacu pada
<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
6

Kode di atas tidak terlalu rumit dan masih layak digunakan walaupun user code membuat kita harus menambah tenaga untuk memahami variabel baru

<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
4

<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
8 etika dalam pengujian, kode di atas membutuhkan waktu eksekusi 0. 0011389255523682 detik padahal sebelumnya 0. 014470100402832 detik, tidak ada perbedaan, oleh karena itu kita bisa menggunakan kedua cara di atas, tetapi jika kode yang ditulis rumit, cara kedua dapat dipertimbangkan untuk digunakan

2 Hindari eksekusi perintah SQL di dalam loop

Sebisa mungkin jangan pernah mengeksekusi kode SQL secara looping, dengan eksekusi yang berulang akan membebani server database yang pada akhirnya akan menurunkan kinerja aplikasi Anda

Contoh di bawah ini adalah pengulangan eksekusi MySQL secara loop (variabel

<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln   = count($bulan);		
for ($i = 1; $i <= $jml_bln, $i++)
{
	// code
}
?>
9 menggunakan contoh sebelumnya)

$jml_bln = count($bulan); 
for ($i = 1; $i <= $jml_bln, $i++) { 
	$bln	= substr('0'.$i, -2); 
	$sql 	= 'SELECT jml_byr FROM penjualan WHERE MONTH(tgl_byr) = $bln; 
	$stmt 	= $pdo->prepare($sql); 
	$stmt->execute(); 
	$penjualan[$bln] = $stmt->fetchAll(PDO::FETCH_ASSOC); 
}

Contoh diatas akan mengeksekusi perintah SQL sebanyak 12 kali yang tentunya akan memberatkan, apalagi jika datanya sangat besar

Untuk optimalisasi, salah satunya dapat ditempuh dengan membuat query di dalam loop kemudian mengeksekusinya di luar loop yang tentunya akan menyebabkan penulisan query yang berbeda, untuk pembahasan lebih detailnya dapat Anda baca pada artikel. Kueri MySQL di PHP Loop – Praktik Buruk

3 Berhati-hatilah dalam menulis loop bersarang

Terkadang kita menulis banyak perulangan di dalam perulangan, untuk berhati-hati, gunakan variabel yang mencerminkan kondisi yang ada, bukan hanya $i, mengingat nilai variabel akan berubah jika kita mendefinisikannya dengan nama yang sama (baik sengaja atau tidak) , misalnya berikut ini akan menghasilkan

*
**
***
****
*****

<?php
for ($row = 1; $row <= 5; $row++)
{
    for ($col = 1; $col <= $row; $col++)
    {
        echo '*' . '<br/>';
    }
}
?>

Berkreasilah dengan loop

Penggunaan loop sangat luas dan bisa digunakan untuk berbagai kebutuhan, saya ingin membagikan contoh loop yang saya buat beberapa waktu yang lalu berupa karakter yang membentuk bidang persegi/segitiga yang dapat disusun menjadi sebuah motif tertentu, agar artikel tidak terlalu panjang, silahkan klik disini untuk membacanya

Itulah tutorial for loop di PHP, semoga bermanfaat

Berlangganan sekarang

Suka artikel di Jagowebdev. com? . com

Komitmen kita. Kami selalu menghargai privasi Anda dan tidak akan membagikan identitas Anda kepada pihak mana pun

Kuat .

siang mas agung
terima kasih telah membantu saya sebelumnya 🙂
Mau nanya lagi cuma gak tau kalo temanya sama hehe
maaf jika tidak sesuai dengan tema
ada 3 tabel di database
tb_produk, tb_produk_detail, tb_material

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_0

Saya mau tanya mas bagaimana cara mengulang perubahan semua stok di tabel bahan yang tertera di tabel detail produk
pertanyaannya apakah updatenya seperti script ini

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_1

yang hanya memperbarui 1 baris, tidak semua yang tercantum di tabel detail
"peta kalo" membingungkan

$id_material didapat dari sini pak

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_2

kata Agus Prawoto Hadi .

Coba kakak ini

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_3

gogon .

data

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_4

jadi, untuk id T205
=> Selisih pertama pada kolom first_number (dari jam 10. 30 sampai 11. 00) = 3-2 =1
=> Selisih kedua pada kolom first_number (dari jam 11. 00 sampai 21. 00) = 3-3 = 0
Sehingga selisih rata-rata = (selisih pertama + selisih kedua)/jumlah kejadian selisih = (0+1)/2 =0,5 =1 (pembulatan)

jadi, untuk id T100
=> Selisih pertama pada kolom first_number (dari jam 10. 30 sampai 11. 00) = 4-2 =2
=> Selisih kedua pada kolom first_number (dari jam 11. 00 sampai 21. 00) = 6-2 = 2
Sehingga selisih rata-rata = (selisih pertama + selisih kedua)/jumlah kejadian selisih = (2+2)/2 =2

sampai hasilnya
identitas unik. average_average_difference. tanggal
T100. 2. 20/11/2017
T205. 1. 20/11/2017

Mohon pencerahannya, terima kasih

kata Adit Setiawan .

Pak saya mohon bantuannya pak...
Saya kesulitan menampilkan data dengan kode lingkaran bercabang
ini contoh tabelnya

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_5

"Masalahnya, saya ingin meringkas laporan penjualan berdasarkan kasir dan type_of_item sehingga hasilnya seperti ini"

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
6
<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
7

kode #php yang saya buat seperti ini

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_8

hasilnya seperti ini

<?php
/* 
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/

for ($i = 1; $i <= 10; $i++) {
    echo $i;
}

/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement 
*/

for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}

/* 
Contoh 3, semua ekspresi kosong
*/

$i = 1;
for ( ; ; ) {
    if ($i > 10) {
        break;
    }
    echo $i;
    $i++;
}

/* 
Contoh 4, tanpa statement hanya ekspresi saja
 */

for ($i = 1; $i <= 10; print $i, $i++);
?>
_9

# mohon solusinya mas agus...
terima kasih banyak

rati yunira .

// untuk menampilkan banyak kelipatan 10, soal no 1
// perulangan menggunakan for dan while
echo " menampilkan kelipatan 10, menggunakan perulangan for. “;
$i = 10;
untuk ($a ; $i<=100; $i+=10){
gema "$i";
gema " ";
}

echo “menampilkan kelipatan 10, menggunakan while loop. “;
$tagihan = 5;
while ($bill <= 100)
{
if ($bill % 10 == 0) echo $bill. "";
$bill++;
}

//untuk menampilkan jumlah kelipatan 6, soal no 3
// loop menggunakan while dan for
echo “menampilkan kelipatan 6, menggunakan perulangan while. “;
$tagihan = 3;
while ($bill <= 127)
{
if ($bill % 6 == 0) echo $bill. "";
$bill++;
}

echo “menampilkan kelipatan 6, menggunakan perulangan for. “;
$a = 6;
untuk ($i ; $a<=127; $a+=6){
gema "$a";
gema " ";
}
?>

mohon bantuannya pak, saya sudah belajar melalui website bapak tapi saya masih kesulitan dengan tugas kampus saya

Saya sudah bisa mengerjakan tugas pertama dan tugas ketiga seperti contoh di atas, tapi saya kesulitan mengerjakan tugas no.2. Saya sudah mencoba berkali-kali, tapi tidak bisa 🙁

Untuk apa di PHP?

loop FOR pada PHP adalah jenis loop yang dapat menentukan jumlah pengulangan atau disebut loop terhitung, berbeda dengan loop tidak terhitung yang tidak pasti berapa banyak jumlah pengulangan.

Bagaimana cara kerja for loop?

Dalam perulangan for kita harus menentukan nilai awal perulangan dan nilai akhir perulangan. Proses pengulangan akan terus berlanjut selama kondisi loop benar . Dengan kata lain, proses pengulangan hanya akan dihentikan bila kondisi sudah salah atau tidak lagi terpenuhi.

Apa yang dimaksud dengan perulangan for?

Pengulangan For adalah bentuk proses kegiatan pengulangan pada satu atau lebih pernyataan secara berulang-ulang selama template terpenuhi dengan baik .

Bagaimana langkah-langkah pemanggilan fungsi di PHP?

Cara Memanggil Fungsi . Caranya sangat sederhana, kita hanya menulis nama fungsinya dan diikuti dengan tanda kurung () setelahnya .