- Passing By Value
Ketika pass-by-value terjadi, method membuat sebuah salinan dari nilai variable yang dikirimkan ke method. Walaupun demikian, method tidak dapat secara langsung memodifikasi nilai variabel pengirimnya meskipun parameter salinannya sudah dimodifikasi nilainya di dalam method.
Contohnya...
<em>function jumlah($value) {
$value++;
}
$input=4;
jumlah($input);
echo $input;
?></em>
Keterangan:
Pada fungsi jumlah($input); jumlah dipanggil, fungsi tersebut akan memasukkan nilai dari variabel $input kedalam argumennya, jadi disini argumen fungsi jumlah adalah 5. 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 yaitu:
<em>$value++;
$value = $value + 1
$value = 4 + 1
$value = 5
Untuk output,
echo $input;</em>
nilai variabel $input yang diambil adalah nilai variabel aslinya, sehingga hasil manipulasi fungsi tadi tidak dipakai, karena bukan nilai asli. Jadi outputnya adalah 5.
tampilan hasil:
4
- Passing By Reference
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah variabel dilewatkan pada saat pemanggilan method. Hal ini berarti bahwa method menyalin alamat memori dari variabel yang dilewatkan pada method. Ini tidak seperti pada pass-by-value, method dapat memodifikasi variabel asli dengan menggunakan alamat memori tersebut, meskipun berbeda nama variabel yang digunakan dalam method dengan variabel aslinya, kedua variabel ini menunjukkan lokasi dari data yang sama.
Contohnya...
<em><?php
function jumlah(&$value) {
$value++;
}
$input=4;
jumlah($input);
echo $input;
?></em>
Penjelasan:
nilai yang diakses & dimanipulasi adalah nilai aslinya, dengan begitu hasil manipulasi fungsilah yang gunakan sebagai outputnya, yaitu 5.
tampilan hasil:
5
Demikian sekilas tentang Passing Argumen pada PHP, pada contoh di atas hasil dari passing by value yaitu 4, sedangkan dari passing by reference yaitu 5...selamat mencoba, semoga bermanfaat.
0 Comment:
Posting Komentar