Fungsi include() dan include_once() memang memiliki fungsi yang hampir sama. Namun ada perbedaan mendasar dari kedua fungsi tersebut:

  • include() bisa memanggil file yang sama untuk beberapa kali.
  • include_once() hanya akan memanggil file yang sama SEKALI saja.

Arrhh… memangnya kenapa artikel seperti ini sampai ditulis? Bukannya dari dulu memang seperti itu? Jangan salah.. :D di inbox email dan sms saya sudah ada 8 orang yang menanyakan hal ini ^^”  kebanyakan merasa kurang jelas dengan contoh yang sudah bertebaran di Internet. Rata-rata dari mereka tidak melihat adanya perbedaan dari contoh-contoh tersebut.

“Dari contoh-contoh yang gw temukan,. kelihatannya sama ajah…”

Begitu kira-kira komentar para penanya. Nah, kali ini, saya akan memberikan contoh yang sangat -sangat sederhana yang akan menunjukkan perbedaan kedua fungsi tersebut.

Contoh Sederhana

Buatlah 3 buah file php dengan nama index.php, include.php, include_once.php dengan code sebagai berikut:

Nama File: index.php

<?PHP
include("include.php");
include("include.php");
include("include.php");
include_once("include_once.php");
include_once("include_once.php");
include_once("include_once.php");
?>

Nama File: include.php

<?PHP
echo "Saya include!<br>";
?>

Nama File: include_once.php

<?PHP
echo "Saya include_once!<br>";
?>

Output

Ketika index.php dipanggil, maka output yang didapat adalah:

Saya include!
Saya include!
Saya include!
Saya include_once!

Terlihat khan bedanya?

include.php dan include_once.php sama-sama dipanggil 3 KALI di file index.php. Pesan “Saya include!” yang ada pada include.php keluar 3 KALI, tapi pesan “Saya include_once!” yang ada pada include_once.php hanya tampil sekali, karena pemanggilan kedua dan seterusnya untuk nama file yang sama dengan fungsi include_once() akan diabaikan.

Sekian, semoga bermanfaat

:cendol