Apa yang =&
dilakukan operator penugasan (sama dengan ampersand) di PHP?
Apakah sudah usang?
Apa yang =&
dilakukan operator penugasan (sama dengan ampersand) di PHP?
Apakah sudah usang?
Jawaban:
Ini tidak usang dan sepertinya tidak akan terjadi. Ini adalah cara standar untuk, misalnya, membuat bagian dari satu larik atau objek yang mencerminkan perubahan yang dibuat ke larik lain, daripada menyalin data yang ada.
Ini disebut penugasan dengan referensi , yang, mengutip manual, "berarti bahwa kedua variabel akhirnya menunjuk pada data yang sama, dan tidak ada yang disalin di mana pun" .
Satu-satunya hal yang tidak digunakan lagi =&
adalah "menetapkan hasil new
berdasarkan referensi" di PHP 5 , yang mungkin menjadi sumber kebingungan. new
secara otomatis ditetapkan dengan referensi, begitu &
juga redundan / deprecated in $o = &new C;
, tapi tidak in $o = &$c;
.
Karena sulit untuk mencari, perhatikan bahwa =&
( sama dengan ampersand ) adalah sama dengan = &
( sama dengan spasi ampersand ) dan sering ditulis sedemikian rupa sehingga berjalan ke variabel lain seperti $x = &$y['z'];
atau $x = &$someVar
( nama variabel tanda ampersand dolar ). Contoh yang disederhanakan dari dokumen:
$a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4
Berikut tautan praktis ke bagian terperinci tentang Tetapkan Dengan Referensi di manual PHP . Halaman itu adalah bagian dari seri referensi - ada baiknya meluangkan waktu sebentar untuk membaca keseluruhan seri.
Ini dua operator yang berbeda. =
adalah tugas seperti yang mungkin Anda ketahui. Dan &
artinya variabel harus diakses dengan referensi daripada dengan nilai.