Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

วิธีส่งอ็อบเจกต์แบบ pass by reference ใน PHP 5


PHP reference เป็น alias ที่อนุญาตให้ตัวแปรสองตัวเขียนค่าเดียวกันได้ ใน PHP 5 ตัวแปรอ็อบเจกต์ไม่ได้มีอ็อบเจกต์เองเป็นค่า มันเก็บ object identifier ที่อนุญาตให้ object accessors หาอ็อบเจกต์จริงได้

เมื่อส่งอ็อบเจกต์เป็นอาร์กิวเมนต์ คืนค่า หรือกำหนดให้ตัวแปรอื่น ตัวแปรเหล่านี้ไม่ใช่ aliases พวกเขามี copy ของ identifier ที่ชี้ไปยังอ็อบเจกต์เดียวกัน

ตัวอย่าง

$my_var = new class_name; echo $my_var->get_class_name(5)->value; $my_var->test(); echo $my_var->get_class_name(5)->value;

ผลลัพธ์

จะได้ผลลัพธ์ดังนี้:

class_name #5

นี่ไม่ใช่ "pass by reference" จริงๆ แล้วเป็น "assignment by reference" ใน PHP 5 assignment by reference เป็นพฤติกรรมเริ่มต้นกับอ็อบเจกต์