Pass by value dan Pass by reference PHP
Passby1.php
function pass($value, $tambah = 1)
{
$value = $value +$tambah;
}
$value = 10;
pass ($value);
echo $value;
?>
//print out
10
Script diatas akan menghasilkan $value = 10 bukan $value = 11 mengapa ? hal ini disebabkan karena peraturan scope variable. Kode $value = 10 akan membuat sebuah variable bernama value dan bernilai 10, kemudian pada baris pass ($value); fungsi pass dipanggil. Selanjutnya $value = 10 diproses, $value = $value +$tambah;, dengan begitu nilai dari $value = 11, sesuai dengan peraturan scope varibel, $value = 11 hanya akan sampai pada baris terakhir pada fungsi, nilai yang telah diolah tidak akan dapat dipakai di luar, singkatnya bersifat local variable.
Pass by value dan Pass by reference adalah cara bagaimana variable diolah.
Pass by value, variable yang diberikan oleh parameter hanya akan diolah didalam fungsi,
variable yang berada diluar fungsi akan tetap. Dengan kata lain variable yang dipakai oleh suatu
fungsi tidak akan mempengaruhi variable yang ada diluar.
Pass by reference, jika pada pass by value, nilai hasil olahan tidak dapat digunakan diluar fungsi, maka pass by reference sebaliknya, hasil olahan yang telah diproses di dalam fungsi dapat digunakan di luar fungsi, dengan kata lain value yang di luar fungsi akan turut berubah seiring
perubahan yang terjadi pada variable didalam fungsi.
Passbyrefence.php
Function passref(&$value, $tambah=1)
{
$value = $value + $tambah;
}
$x = 10;
Echo “nilai sebelum fungsi ”. $x.”
”;
Passref($x);
Echo “nilai sesudah fungsi ”. $x.”
”;
?>
//print out
nilai sebelum fungsi 10
nilai sesudah fungsi 11
Note :
Pemahaman yang mendalam mengenai scope variable, pass by value dan pass by reference
amatlah penting, karena dalam web development skala besar hal-hal diatas amatlah diperlukan, terutama dalam hal efisiensi kode program.

0 komentar:
Posting Komentar