Mengenal Jenis-jenis Operator Assignment dalam PHP

Mengenal Jenis-jenis Operator Assignment dalam PHP

Mengenal Jenis-jenis Operator Assignment dalam PHP

Mengenal Jenis-jenis Operator Assignment dalam PHP

Operator assignment adalah operator untuk menambahkan atau memasukkan sebuah nilai ke dalam variabel. PHP memiliki tiga jenis operator assignment, yaitu assignment dengan nilai (assignment by value), assignment array, dan assignment dengan referensi (assignment by reference). Untuk lebih mengenal ketiganya, simak yang di bawah ini.

Operator Assignment dengan Nilai

Assignment dengan nilai adalah proses pemberian nilai ke dalam sebuah variabel dengan mengcopy nilai atau value dari variabel lain. PHP menggunakan tanda sama dengan (=) untuk Assignment by Value. Pada saat menggunakan operator “=”, PHP mengcopy nilai (value), dari sisi kanan operator ke sisi kiri. Operator Assignment by Value memiliki arah proses kanan sehingga proses pemberian nilai kepada sebuah variabel dimulai dari kanan.

Operator Assignment Array

Operator assignment array adalah operator assignment untuk menginput nilai ke dalam array. Operator ini menggunakan tanda panah (=>).

Operator Assignment dengan Referensi

Assigment dengan referensi atau Assignment by Reference, adalah operator assignment khusus yang digunakan untuk mengcopy nilai referensi dari sebuah variabel.

Perbedaan Assignment By Value dengan Assignment By Reference

Di dalam bahasa pemograman, sebuah nilai dari variabel disimpan pada sebuah alamat tertentu di memori komputer. Alamat memori inilah yang dimaksud dengan referensi. Misalkan variabel $a memiliki nilai 20, dan berada pada lokasi memori 1013, ketika kita membuat kode program $b=$a, maka nilai (value) dari variabel $a dicopy ke dalam variabel $b yang mungkin saja akan berada pada lokasi memori 1014. Sehingga saat ini ada dua buah lokasi memori untuk menampung nilai dari masing-masing variabel, $a pada lokasi 1013 dengan nilai 20, dan $b pada lokasi 1014 dengan nilai 20 (dicopy dari nilai $a).

Jika kita menambahkan variabel $a dengan operasi $a = $a + 5, nilai pada lokasi memori 1013 akan menjadi 25, namun karena memiliki lokasi memori yang berbeda, nilai pada variabel $b akan tetap 20. Inilah proses yang terjadi ketika menggunakan Assignment By Value.

Bagaimana dengan Assignment By Reference?

Ketika variabel $a dengan nilai 20 berada di lokasi memori 1013, dan kita menjalankan perintah $b=&$a, maka yang terjadi adalah alamat lokasi memori (referensi) untuk variabel $b dicopy dari nilai variabel $a, sehingga kedua variabel memiliki satu alamat memori yang sama, yaitu 1013.

Karena alamat untuk variabel $a dan $b sama, maka ketika salah satu variabel mengubah nilai di alamat 1013, maka nilai tersebut akan berubah. Jika kita menambahkan nilai variabel $a dengan operasi $a = $a + 5, nilai pada lokasi memori 1013 akan menjadi 25. Dan ketika kita tampilkan nilai dari variabel $b, maka PHP akan mencari nilai di lokasi memori 1013, dan menampilkan hasilnya, yakni 25. Kedua variabel $a dan $b terikat dengan satu lokasi memori yang sama.

You may also like...