Greenpeace SEA-Indonesia
08.21

Passing By Value dan Passing By Reference

Passing Argumen di PHP dapat diartikan sebagai Informasi mungkin akan dilewatkan ke fungsi melalui daftar argumen, yang merupakan daftar dipisahkan koma ekspresi.

PHP mendukung argumen yang lewat dengan nilai (default), lewat referensi, dan nilai-nilai argumen default. Variable-panjang daftar argumen juga didukung, lihat juga fungsi referensi untuk func_num_args (), func_get_arg (), dan func_get_args () untuk informasi lebih lanjut .

Di sini saya akan mereview tentang Passing By Value dan Passing By Reference dan cara pembandingannya

  • Passing By Value
secara default, 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…

contoh:

<?php

function jumlah($nilai) {

$nilai++;

}

$input=5;

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 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

Tampilan output:

tetapi apabila menggunakan passing by reference akan bernilai 6.
bagaimana outputnya akan bernilai 6? akan saya jelaskan lebih dahulu tentang passing by reference.

  • 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.

$nilai++;

$nilai = $nilai + 1

$nilai = 5 + 1

$nilai = 6

Untuk output,

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.


Tampilan Outputnya:



Semoga berguna buat teman2 semua.. Amin.

Untuk download file-nya disini

suported by :

Google
Ilmuwebsite Center

0 komentar:

Posting Komentar