PTI 478

Minggu, 14 Maret 2010

Membuat Passsing Argument Menggunakan PHP

Argumen fungsi
Secara default, argumen dikirimkan ke fungsi adalah berupa nilai saja, jadi tidak bisa mengubah nilai variabel yang dipakai sebagi argumen di dalam fungsi. Jika mengubah nilai argumen di dalam fungsi, maka nilai asli pada variabel tetap. Agar dapat mengubah nilai asli variabel di dalam fungsi, maka harus ada pengiriman berdasarkan reference, caranya dengan menambah tanda "&" di
depan variabel saat memanggil fungsi. Berikut ini penjelasan jenis-jenis argumen fungsi :

1. Passing by Value
Semua nilai yang di-pass masuk atau keluar variable, ini berarti PHP membuat kopian dari nilai original dan nilai kopian itulah yang kita akses dan kita manipulasi, bukan nilai originalnya. Variable yang berada diluar fungsi akan tetap. Dengan kata lain variable yang dipakai oleh suatu fungsi tidak akan mempengaruhi variable yang ada diluar. Dengan begitu bagaimanapun kita ubah nilai itu, tidak akan mengubah nilai originalnya. Contoh :

<?php
function jumlah($nilai) {
$nilai++;
}
$input=10;
jumlah($input);
echo $input;
?>


Penjelasan:

Pada saat fungsi jumlah dipanggil, jumlah($input);

fungsi tersebut akan memasukkan nilai dari variabel $input kedalam argumennya, jadi disini argumen fungsi jumlah adalah 10 (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 = 10+ 1
$nilai = 11
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 10

Tampilan Outputnya :


Tetapi apabila menggunakan passing by reference akan bernilai 11. Bagaimana outputnya akan bernilai 11? akan saya jelaskan lebih dahulu tentang passing by reference.

2. Passing by Reference

Berbeda dengan passing by value yang bersifat mengkopi, passing by reference memberikan nilai aslinya untuk diakses dan dimanipulasi, dengan contoh yang sama seperti diatas, kita akan modifikasi menjadi mekanisme passing by reference.

Untuk mengubah jadi passing by reference, kita hanya cukup menambahkan operator & pada argumennya.

<?php
function jumlah(&$nilai) {

$nilai++;
}
$input=10;
jumlah($input);
echo $input;

?>

Penjelasan:

Sesuai dengan penjelasan passing by reference diatas, nilai yang diakses & dimanipulasi adalah nilai aslinya, dengan begitu hasil manipulasi fungsilah yang gunakan sebagai outputnya, yaitu 11.

Tampilan Outputnya :


Demikian penjelasan seputar Membuat Passsing Argument Menggunakan PHP


1 komentar: