PHP 函式和引用的內容
引言
在 PHP 中,物件預設按引用傳遞。這裡,引用是一個別名,它允許兩個不同的變數寫入同一個值。物件變數不包含物件本身作為值。它僅包含一個物件識別符號,可用於查詢實際物件。當按引數傳送、返回或分配物件時,不同的變數不是別名,而是持有識別符號的副本,指向同一物件。
示例
PHP 擁有 spl_object_hash() 函式,用於返回物件的唯一雜湊 ID。在以下程式碼中,引用同一物件的兩物件變數返回同一 ID
示例
<?php
class test1{
public $name;
}
$obj1=new test1();
echo "ID of obj1: " . spl_object_hash($obj1) . "
";
$obj2=$obj1;
echo "ID of obj2: " . spl_object_hash($obj2);
?>輸出
結果顯示兩個變數的 ID 相同
ID of obj1: 000000004355dda6000000006f04b1a7 ID of obj2: 000000004355dda6000000006f04b1a7
當我們透過給名稱新增字首 & 建立一個物件變數的引用時,屬性中的任何更改都會自動反映在引用變數中
示例
<?php
class test1{
public $name;
}
$obj1=new test1();
echo "ID of obj1: " . spl_object_hash($obj1) . "
";
$obj2=&$obj1;
echo "ID of obj2: " . spl_object_hash($obj2) . "
";
$obj1->name="Amar";
echo "name: " .$obj2->name;
?>輸出
上面的程式碼現在返回以下輸出的名稱
ID of obj1: 00000000163cf0b8000000003ad0ed93 ID of obj2: 00000000163cf0b8000000003ad0ed93 name: Amar
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP