welcome to my blog... telusuri dan pelajari



Passing Argumen di PHP

1. Passing by value

Semua nilai yang di-pass masuk atau keluar dari fungsi adalah passing by value, bukan by reference. ini berarti PHP membuat kopian dari nilai original dan nilai kopian itulah yang kita akses dan kita manipulasi, bukan nilai originalnya. Dengan begitu bagaimanapun kita ubah nilai itu, tidak akan mengubah nilai originalnya

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.

CONTOH:

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

Pada saat fungsi jumlah dipanggil,

jumlah($input);

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

$nilai = 6

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 5


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=5;
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 6.

SUMBER




0 komentar to "Passing Argumen di PHP"

Posting Komentar


Universitas Negeri Malang

time

about ayas

Foto saya
nama ayas sebetulnya bukan ADITYAAREMA, tapi Aditya Imam Pratama, ADITYAREMA merupakan sebuah nama yang menggambarkan bahwa ayas sangat bangga menjadi AREMA. ayas biasa dipanggil imam - pon - dita - adit. Anda bisa panggil saya terserah yang penting bukan Mince atau nama2 bencis sebangsanya, serta jangan menyinggung rasisme :D... saya lahir di Kota Malang, I Love this city, tanggal 7 Agustus 1989, tepatnya di RSSA bukan dukun beranak... jadi secara otomatis sejak saya lahir, saya adalah AREMA cukup sekian perkenalannya ya... kalo mau lebih intim lagi add aja di FB - aditya_tothemax@yahoo.co.id -

kurs Rupiah kita

Web hosting for webmasters