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

PHP ส่งคืนโดยอ้างอิง


แนะนำตัว

ใน PHP, นอกจากนี้ยังสามารถสร้างฟังก์ชันเพื่อส่งคืนข้อมูลอ้างอิงได้ สิ่งนี้มีประโยชน์ในการค้นหาว่าตัวแปรใดที่อ้างอิงควรถูกผูกไว้ ในการกำหนดฟังก์ชันที่ส่งคืนการอ้างอิง ให้นำหน้าชื่อด้วย & ลงชื่อ

ตัวอย่าง

ในตัวอย่างต่อไปนี้ myfunction() ถูกกำหนดให้ส่งคืนโดยการอ้างอิง ประกอบด้วยตัวแปรสแตติกที่มีการส่งคืนการอ้างอิงและกำหนดให้กับตัวแปรส่วนกลาง ค่าของตัวแปรสแตติกในพื้นที่จะเปลี่ยนการอ้างอิง ouside ถูกกำหนดด้วยค่าที่ต่างกัน

ตัวอย่าง

<?php
function &myfunction(){
   static $x=10;
   echo "x Inside function: ",$x,"\n";
   return $x;
}
$a=&myfunction(); //contains reference to 4x in function
echo "returned by reference: ", $a, "\n";
$a=$a+10; //increments variable inside function too
$a=&myfunction();
?>

ผลลัพธ์

ตัวอย่างนี้ให้ผลลัพธ์ต่อไปนี้

x Inside function: 10
returned by reference: 10
x Inside function: 20

วิธีการคืนค่าการอ้างอิง

คลาสยังสามารถมีเมธอดที่สามารถส่งคืนการอ้างอิงได้ สิ่งนี้ทำให้ค่า chenging ของตัวแปรอินสแตนซ์ส่วนตัวจากภายนอกคลาสได้

ตัวอย่าง

<?php
class myclass{
   private $val;
   function __construct($x){
      $this->val=$x;
   }
   function &getbyref(){
      return $this->val;
   }
   function getbyval(){
      return $this->val;
   }
}
$a=new myclass(10);
$b=&$a->getbyref();
$b=100;
echo "Value of private property: ", $a->getbyval();
?>

ผลลัพธ์

ผลลัพธ์ของสคริปต์ข้างต้นเป็นดังนี้

Value of private property: 100