Kasusnya adalah seperti ini: Saya ingin membuat, katakanlah 6 variabel dengan nama $img1, $img2, $img3, $img4, $img5, $img6, secara otomatis menggunakan fungsi loop. Bagaimana mengimplementasikannya? Mari kita bahas mengenai pembuatan variabel pada PHP dengan kasus seperti ini.
Menggunakan loop
Solusinya adalah menggunakan looping, seperti dijelaskan pada kasus di atas. Kode untuk menggenerate variabel-variabel tersebut adalah sebagai berikut:
for($i = 1; $i <= 6; $i++)
{
echo ${'img' . $i} . "<br />\n";
}
Mengapa Tidak Menggunakan Array[] ?
Namun, menggunakan pendekatan seperti ini rasanya cukup aneh, sebab array terbukti lebih efisien dan lebih cepat dalam segi performa, karena hanya menggunakan satu buah variabel. Solusi di atas, jika diterjemahkan dalam bentuk array akan menjadi seperti berikut ini:
$aImages = array();
$aImages[] = '/images/img1.jpg';
$aImages[] = '/images/img2.jpg';
$aImages[] = '/images/img3.jpg';
$aImages[] = '/images/img4.jpg';
$aImages[] = '/images/img5.jpg';
$aImages[] = '/images/img6.jpg';
for ($i = 0; $i < count($aImages); $i++)
{
echo $aImages[$i] . "<br />\n";
} // Or foreach ($aImages AS $image)
{
echo $image . "<br />\n";
}
Kelebihan menggunakan array[]
Menggunakan array[] berarti mengefesiensikan penggunaan memory komputer. Efisiensi ini selanjutnya akan berpengaruh pada performa dan kecepatan load dari aplikasi yang kita jalankan.
Menggunakan array juga bisa memudahkan pembacaan kode dan membuat kode terstruktur. Hal ini akan menambah kecepatan pengembangan saat aplikasi berpindah ke developer lain.
Namun juga tidak selalu solusi menggunakan array[] cocok untuk kondisi tertentu. Misal jika kita menggenerate nilai dari database, mungkin pendekatan yang pertama yang lebih efisien.
Menggunakan looping variabel
Saat memutuskan menggunakan loop untuk menggenerate nama variabel, kita harus mengecek apakah nama variabel tersebut sudah diset atau belum.
for ($i = 1; $i <= 6; $i++)
{
if (isset(${'img' . $i}))
{
echo ${'img' . $i};
}
}