Posted by
Blog_nya Dania
|
PTI478
|
Rabu, Maret 17, 2010
Pemrograman web dengan PHP terdapat 2 passing argumen, yaitu: passing by value dan passing by reference. berikut adalah contoh passing by value dan passing by reference beserta tampilannya....
a. passing by value
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Pass By Value</title>
</head>
<body>
<p>Berikut adalah contoh program yang menggunakan fungsi pass by value</p>
<?php
function jumlah($nilai) {
$nilai++;
}
$input=8;
jumlah($input);
echo $input;
?>
</body>
</html>
Hasilnya:
penjelasan:
Pada saat fungsi jumlah dipanggil,
jumlah($input);
fungsi akan memasukkan nilai dari variabel $input ke argumennya yaitu 8 (ini adalah
nilai aslinya). selanjutnya PHP meng-copy nilai asli tersebut,
kemudian hasil copy-nya digunakan untuk proses manipulasi fungsi,
sedangkan nilai yang asli dibiarkan tidak berubah. Proses
manipulasinya sbb:
$nilai++;
$nilai = $nilai + 1
$nilai = 8 + 1
$nilai = 9
Untuk output,
echo $input;
nilai
variabel $input yang diambil disini adalah nilai variabel aslinya,
sehingga hasil manipulasi fungsi tadi tidak dipakai, karena bukan
nilai asli. Jadi outputnya adalah 8
b. passing by reference
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Pass By reference</title>
</head>
<body>
<p>Ini merupakan hasil pengolahan fungsi pass by reference</p>
<?php
function jumlah2(&$nilai) {
$nilai++;
}
$input=8;
jumlah2($input);
echo $input;
?>
</body>
</html>
Hasilnya sebagai berikut:
penjelasan:
passing by reference memberikan nilai aslinya untuk di akses dan di manipulasi. dari listing seperti passing by value hanya cukup diubah dengan menambahkan operator & pada argumennya. sehingga nilai yang diakses dan dimanipulasi adalah nilai aslinya, dan hasil dari manipulasi fungsi tersebut yang digunakan sebagai outputnya yaitu 9.