Referensi di PHP
Di PHP, nilai dari satu variabel dapat diberikan ke variabel lain:
<?php
$num1 = 1;
$num2 = $num1; // memberikan
echo $num1; // 1
echo $num2; // 1
?>
Dengan pemberian nilai seperti ini, salinan nilai dari variabel pertama disimpan ke variabel baru. Ini berarti kedua variabel tidak terhubung satu sama lain dan dapat diubah secara independen. Lihat contoh kode berikut:
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1; // 1 - tidak berubah
?>
Namun, dapat juga dilakukan agar yang disalin bukan nilai variabelnya, tetapi referensi ke nilai tersebut. Dalam hal ini, ketika nilai satu variabel diubah, nilai variabel lainnya juga akan berubah.
Untuk meneruskan nilai berdasarkan referensi, tambahkan tanda ampersand sebelum nama variabel:
<?php
$num1 = 1;
$num2 = &$num1; // meneruskan berdasarkan referensi
?>
Sekarang, perubahan pada variabel pertama juga akan mengubah variabel kedua:
<?php
$num1 = 1;
$num2 = &$num1;
$num2 = 2;
echo $num1; // 2 - berubah
?>
Demikian pula, jika kita mengubah variabel pertama, variabel kedua juga akan berubah:
<?php
$num1 = 1;
$num2 = &$num1;
$num1 = 2;
echo $num2; // 2
?>
Jelaskan, apa hasil dari eksekusi kode berikut:
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1;
echo $num2;
?>
Jelaskan, apa hasil dari eksekusi kode berikut:
<?php
$num1 = 1;
$num2 = &$num1;
$num2++;
echo $num1;
echo $num2;
?>
Jelaskan, apa hasil dari eksekusi kode berikut:
<?php
$num1 = 1;
$num2 = $num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>
Jelaskan, apa hasil dari eksekusi kode berikut:
<?php
$num1 = 1;
$num2 = &$num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>