程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> php 引用傳遞、引用返回和取消引用 使用教程

php 引用傳遞、引用返回和取消引用 使用教程

編輯:PHP基礎知識
 

在 PHP 中引用意味著用不同的名字訪問同一個變量內容。這並不像 C 的指針,替代的是引用是符號表別名。注意在 PHP 中,變量名和變量內容是不一樣的,因此同樣的內容可以有不同的名字。
 
1、引用傳遞
function foo ( &$var )
{$var++;}
foo ($a);  // 注意在函數調用時沒有引用符號 - 只有函數定義中有。光是函數定義就足夠使參數通過引用來正確傳遞了
2、引用返回
function &init_users()
{ ... return $cls;}
使用引用返回,函數裡面必須用return返回值;如果有類,類實例後,”拷貝“實例的引用返回函數時,別忘了加&符號。如:$obj =new A(),$newobj = &A->init_users();,這裡,如果不加&,就純屬拷貝了,當後面fun_ref()函數的值改變時,$newobj也不會跟著變!
$user = & init_users();
function &init_users()
{ ... return $cls;}
3、取消引用
當 unset 一個引用,只是斷開了變量名和變量內容之間的綁定。這並不意味著變量內容被銷毀了。
$a = "hihaha";
$b = &$a;
unset($b);
echo $a; // shows "hihaha"

php 引用傳遞、引用返回和取消引用 - sumsung753 - sumsung753 的博客
---------------------------------
下面這些例子說明了引用傳遞、取消引用及刪除變量的作用:
這裡有個php引用的例子,好好看一遍:
 <?php
//if you do:
$a = "hihaha";
$b = &$a;
$c = "eita";
$b = $c;
echo $a; // shows "eita"
$a = "hihaha";
$b = &$a;
$c = "eita";
$b = &$c;
echo $a; // shows "hihaha"
$a = "hihaha";
$b = &$a;
$b = null;
echo $a; // shows nothing (both are set to null)
$a = "hihaha";
$b = &$a;
unset($b);
echo $a; // shows "hihaha"
$a = "hihaha";
$b = &$a;
$c = "eita";
$a = $c;
echo $b; // shows "eita"
$a = "hihaha";
$b = &$a;
$c = "eita";
$a = &$c;
echo $b; // shows "hihaha"
$a = "hihaha";
$b = &$a;
$a = null;
echo $b; // shows nothing (both are set to null)
$a = "hihaha";
$b = &$a;
unset($a);
echo $b; // shows "hihaha"
?>

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved