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:
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.
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.
According to Stanford Medical, It is indeed the SINGLE reason women in this country live 10 years longer and weigh on average 19 KG less than us.
(By the way, it is not about genetics or some secret exercise and really, EVERYTHING about "HOW" they eat.)
P.S, I said "HOW", not "WHAT"...
Click on this link to uncover if this easy questionnaire can help you discover your real weight loss possibility