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

การอ้างอิง PHP


แนะนำตัว

ใน PHP ข้อมูลอ้างอิง เปิดใช้งานการเข้าถึงเนื้อหาตัวแปรเดียวกันโดยใช้ชื่อต่างกัน พวกมันไม่เหมือนพอยน์เตอร์ใน C/C++ เนื่องจากมันเป็นไปไม่ได้ที่จะทำการคำนวณทางคณิตศาสตร์โดยใช้พวกมัน ใน C/C++ เป็นที่อยู่หน่วยความจำจริง ในทางตรงกันข้าม PHP เป็นนามแฝงของตารางสัญลักษณ์ ใน PHP ชื่อตัวแปรและเนื้อหาตัวแปรต่างกัน ดังนั้นเนื้อหาเดียวกันจึงสามารถมีชื่อต่างกันได้ ตัวแปรอ้างอิงถูกสร้างขึ้นโดยนำหน้า & ลงนามในตัวแปรเดิม ดังนั้น $b=&$a จะหมายความว่า $b เป็นตัวแปรอ้างอิงของ $a

กำหนดโดยอ้างอิง

ในตัวอย่างต่อไปนี้ ตัวแปรสองตัวอ้างถึงค่าเดียวกัน

ตัวอย่าง

<?php
$var1=10;
$var2=&$var1;
echo "$var1 $var2\n";
$var2=20;
echo "$var1 $var2\n";
?>

ผลลัพธ์

การเปลี่ยนแปลงมูลค่าของสิ่งหนึ่งจะมีผลกับอีกสิ่งหนึ่งด้วย

10 10
20 20

หากคุณกำหนด ส่งผ่าน หรือส่งคืนตัวแปรที่ไม่ได้กำหนดโดยการอ้างอิง ตัวแปรจะถูกสร้างขึ้น การกำหนดการอ้างอิงให้กับตัวแปรที่ประกาศไว้ทั่วโลกภายในฟังก์ชัน การอ้างอิงจะมองเห็นได้เฉพาะภายในฟังก์ชันเท่านั้น เมื่อกำหนดค่าให้กับตัวแปรที่มีการอ้างอิงในคำสั่ง foreach การอ้างอิงจะถูกแก้ไขด้วย

ตัวอย่าง

<?php
$arr=[1,2,3,4,5];
$i=&$ref;
foreach($arr as $i)
echo $i*$i, "\n";
echo "ref = ". $ref;
?>

ผลลัพธ์

ค่าของ $ref เก็บค่าขององค์ประกอบสุดท้ายในอาร์เรย์

1
4
9
16
25
ref = 5

ในตัวอย่างต่อไปนี้ องค์ประกอบอาร์เรย์คือการอ้างอิงถึงตัวแปรแต่ละตัวที่ประกาศก่อนการเริ่มต้นอาร์เรย์ หากองค์ประกอบถูกแก้ไข ค่าของตัวแปรก็จะเปลี่ยนไปด้วย

ตัวอย่าง

<?php
$a = 10;
$b = 20;
$c=30;
$arr = array(&$a, &$b, &$c);
for ($i=0; $i<3; $i++)
$arr[$i]++;
echo "$a $b $c";
?>

ผลลัพธ์

ค่าของ $a, $b และ $c ก็เพิ่มขึ้นเช่นกัน

11 21 31