Selasa, 08 Maret 2011

Tugas Praktikum-1 Modul 6

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

contoh :

<?php

function jumlah($nilai){
$nilai++;
}

$input=5;
jumlah($input);
echo $input;
?>

Penjelasan :

pada saat funsi jumlah dipanggil

jumlah($input);

Fungsi tersebut akan memasukkan nilai dari variabel $input ke dalam argumennya, jadi di sini 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 asli dibiarkan tidak berubah. Nilai variabel $input yang diambil di sini adalah nilai variabel aslinya, sehingga hasil manipulasi fungsi tadi tidak dipakai, karena bukan nilai asli. Jadi outputnya adalah 5

$nilai++;
$nilai = $nilai +1
$nilai = 5 + 1
$nilai = 6

untuk outputnya :

echo $input;


#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 di atas, kita akan memodifikasi menjadi mekanisme passing by reference.

$nilai++;
$nilai = $nilai +1
$nilai = 5 + 1
$nilai = 6

untuk outputnya :

echo $input;

Penjelasan :

Sesuai dengan penjelasan passing by reference di atas, nilai yang diakses dan dimanipulasi adalah nilai aslinya, dengan begitu hasil manipulasi fungsilah yang digunakan sebagai outputnya

Tidak ada komentar:

Posting Komentar