Membuat fungsi pass by reference pada pemrograman PHP
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 tambah1($num) {
$num += 2;
}
function tambah2(&$num) {
$num += 2;
}
$nilai_awal = 10;
tambah1($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 tambah1 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 tambah1($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 :