Passing Argumen di PHP : passing by value dan by reference.

0 Comment
Passing argumen adalah variabel yang diberikan ke method dalam PHP, ada dua tipe data variabel passing pada method yaitu adalah pass-by-value dan pass-by-reference.
  • Passing By Value  
 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. Semua nilai yang di-pass masuk atau keluar dari fungsi, artinya PHP membuat  kopian dari nilai original dan nilai kopian itulah yang kita akses  dan kita manipulasi, bukan nilai originalnya. Nilai original tidak akan berubah, walaupun telah dilakukan manipulasi pada nilai.
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
Passing by reference kebalikan dari Passing By Value, hasil olahan yang telah diproses di dalam fungsi dapat digunakan di luar fungsi, dengan kata lain value yang di luar fungsi akan turut berubah seiring perubahan yang terjadi pada variable didalam fungsi. Passing By Reference memberikan nilai aslinya untuk diakses dan dimanipulasi. Untuk  mengubah jadi passing by value menjadi reference, kita hanya cukup menambahkan  operator '&' pada argumennya.
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

Diberdayakan oleh Blogger.

Followers

 

©Copyright 2011 Hey, Morn'! | TNB