By Value
Variabel dipassing (dimasukkan) ke dalam function dengan cara pass by value. Pass by value membuat kopi dari variabel yang asli. Dengan demikian variabel asli tidak terpengaruh. Perhatikan contoh value1.php berikut ini:
<?php
function Coba($nilai)
{
$nilai++;
}
$nilai = 3;
Coba($nilai);
echo $nilai;
?>
Tampilannya adalah sebagai berikut:
Output yang dihasilkan adalah 3, terlihat variabel yang berubah dalam fungsi tidak akan berpengaruh diluar fungsi atau sama saja tidak mempengaruhi variabel aslinya. Berikut ini ada sebuah contoh lagi mengenai passing by value dalam sintaks value2.php.
<HTML>
<HEAD>
<TITLE>Fungsi tambah string [Pass by value]</TITLE>
</HEAD>
<BODY>
<?
function tambah_string($str)
{
$str=$str. ",Bandung";
return $str;
}
//Pemanggilan fungsi
$str="STTIS";
echo "\$str=$str<BR>";
echo tambah_string($str)."<BR>";
echo "\$str=$str<BR>";
?>
</BODY>
</HTML>
Tampilannya adalah sebagai berikut:
By Reference
Berbeda dengan pass by value, pass by reference akan mempengaruhi variabel aslinya. Perintah yang dijalankan di fungsi mempengaruhi nilai variabel yang berada diluar fungsi. Untuk menggunakan pass by reference menggunakan simbol "&" diawal variabel. Perhatikan contoh dibawah :
<?php
function Coba(&$nilai)
{
$nilai++;
}
$nilai = 3;
Coba($nilai);
echo $nilai;
?>
Output yang dihasilkan adalah 4, perintah dalah fungsi berpengaruh merubah nilai Variabel aslinya.
Berikut ini ada sebuah contoh lagi mengenai passing by reference dalam sintaks reference2.php.
<HTML>
<HEAD>
<TITLE>Fungsi tambah string [Pass by reference]</TITLE>
</HEAD>
<BODY>
<?
function tambah_string(&$str)
{
$str=$str. ",Bandung";
return $str;
}
//Pemanggilan fungsi
$str="STTIS";
echo "\$str=$str<BR>";
echo tambah_string($str)."<BR>";
echo "\$str=$str<BR>";
?>
</BODY>
</HTML>
Tampilan dari sintak di atas adalah:
Tidak ada komentar:
Posting Komentar