Penggunaan fungsi REFERNCE pada PHP

03Feb

Pada pembahasan sebelumnya kita telah membahas mengenai Variabel sebagai Parameter Fungsi dalam PHP , kali ini kita akan membahasa mengenai variabel yang digunakan sebagai referensi, jadi sejak PHP 4, PHP mengizinkan kita untuk membuat referensi (alias atau nama lain) dari variabel lain, jika b adalah referensi dari a maka a dan b akan menunjuk atau mengacu ke satu nilai yang sama. Dengan demikian , jika terjadi perubahan nilai terhadap variabel a maka b juga akan berubah. Demikian juga sebaliknya, jika nilai b diubah maka nialai a juga akan berubah.

Untuk membuat variabel referensi, digunakan tanda & (dan) di depan nama variabel yang akan di acu, sebagai contoh :


<?php

$a = 10;
$b =& $a;

?>

Dan berikut adalah contoh kode yang menggunakan variabel referensi :


<?php

#
# Variabel Referensi by SmartDevTala
#
$a = 10;
#membuat referensi $b dengan menngacu pada variabel $a
$b =& $a;

echo "Nilai awal \n";
echo "Nilai \$a\t:$a\n";
echo "Nilai \$b\t:$b\n\n";

#mengubah nilai $a
$a = 100;

echo "Nilai \$a diubah \n";
echo "Nilai \$a\t:$a\n";
echo "Nilai \$b\t:$b\n\n";

#mengubah nilai $a
$b = 1000;

echo "Nilai \$b diubah \n";
echo "Nilai \$a\t:$a\n";
echo "Nilai \$b\t:$b\n";

?>

dan hasilnya adalah sebagai berikut 

Penggunaan fungsi REFERNCE pada PHP

sebagai tambahan, contoh penggunaan variabel referensi biasanya ditemukan kita menggunakan framework PHP dari Codeigniter, yang biasanya digunakan ketika memanggil Obyek di dalam Helper yang dibuat sendiri, biasanya contoh kodenya adalah seperti berikut :


<?php
 $ci =& get_instance();
?>

fungsi get_instance() adalah fungsi dari Codeigniter yang berisi referensi semua yang ada di dalam codeigniter.

Demikian pembahasan mengenai Variabel Referensi di PHP, salah khilaf mohon disampaikan dan semoga bermanfaat

Penggunaan fungsi REFERNCE pada PHP

Nasrullah Siddik
Administrator

Pada akhirnya kualitas dapat mengalahkan kuantitas

Pada tutorial sebelumnya kita telah mengdiskusikan tentang pembuatan fungsi dengan menggunakan argumen atau parameter dan juga pembuatan fungsi tanpa menggunakan parameter.

Dalam tutorial kali ini, kita masih menyinggung seputaran pembuatan fungsi. Fungsi yang akan kita bahas dalam kesempatan ini adalah pembuatan fungsi pass by reference.

Pembuatan fungsi pass by reference memiliki arti : nilai yang dilewatkan dalam sebuah argumen / paremeter dalam memanggil fungsi tersebut akan ikut berubah, sehingga nilai hasil olahan tersebut dapat digunakan diluar fungsi . Hal ini bertolak belakang jika kita menggunakan model pass by value, nilai yang dikirimkan ke fungsi yang dipanggil tidak dapat digunakan diluar fungsi tersebut.

Untuk dapat memahami perbedaan pass by value dengan pass by reference, perhatikan contoh dibawah ini :

<?php
 function tambah2($num) {
 $num += 2;
 }
 
 function tambah2(&$num) {
 $num += 2;
 }
 
 $nilai_awal = 10;
 tambah2($nilai_awal);
 
 echo "Nilai Awal adalah : $nilai_awal<br />";
 
 tambah2( $nilai_awal );
 echo "Nilainya menjadi : $nilai_awal<br />";
?>

Outputnya :

Nilai Awal adalah : 10
Nilainya menjadi : 12

Jika kita perhatikan nilai dari variabel $nilai_awal ketika dilewatkan pada fungsi tambah2 tidak berubah nilainya begitu dicetak diluar fungsi tersebut, yaitu :10. Sedangkan pada fungsi tambah2, nilainya menjadi 12 begitu dicetak diluar fungsi tambah2.

Pada contoh diatas, yang menjadi fungsi pass by reference adalah function tambah2(&$num), sedangkan yang menjadi fungsi pass by value adalah function tambah2($num).

Jadi untuk membuat fungsi pass by reference, kita cukup menambahkan simbol & pada parameternya. Dengan demikian nilai yang diolah dan telah berubah pada fungsi pass by reference dapat diakses dari luar fungsi tersebut.

Tutorial PHP tentang fungsi lainnya :

  • Membuat fungsi dengan menerapkan parameter dan tanpa parameter
  • Mencari bilangan terbesar dari dua dan tiga inputan dengan membuat fungsi
  • Memahami fungsi return value pada pemrograman php
  • Membuat default parameter pada fungsi PHP