溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

復習PHP-語言參考-引用

發布時間:2020-06-11 22:28:28 來源:網絡 閱讀:291 作者:qzd1989 欄目:web開發

1.引用指的是不同的名稱訪問同一個變量內容

最簡單的例子為:

<?php

$a = &$b;

?>

在形參中加入引用變量,則實參會在函數執行時被影響。

自 PHP 5 起,new 自動返回引用,所以$a = & new a;會報錯。

注意以下一個示例:

<?php
$a = 5;
$b = 7;
function foo()
{
    global $a,$b;
    $b = &$a; // if $GLOBALS[‘b’] = &$a;  $b的值在外部就會變成$a的引用  5
}
foo();
echo $a; //5
echo $b; //still 7
?>

所以這里如果要改變$b,可以改寫為$GLOBALS[‘b’];

注意以下一個示例:

<?php
$a = 5;
$b = 7;
function foo(&$var)
{
    $var = &$GLOBALS["b"];
}
foo($a);
echo $a; //still 5
echo $b; //7
?>

所以PHP里的引用,不能把它看作一個指針,它是一個不標準的東西。妹的。。 操 真奇怪。(通俗一點說,傳參的引用不能再被引用賦值)

上面這個例子可以這么理解:$var在foo調用時被綁定在$a身上,然后在函數里面又被綁定在$GLOBALS[“b”]身上,事實上$var并沒有改變什么,所以不起作用。

2.引用返回

參見下例:

<?php
function &foo($a)
{
    return $a;
}
$a = 5;
$b = &foo($a);
$c = foo($a);
$a = 6;
echo $a; //6
echo $b; //5
echo $c; //5
?>

有這個概念就行了,暫時也不理解為毛要這么用。 哎。。 以后再說吧

3.取消引用

<?php
$a = 5;
$b = & $a;
unset($a);
echo $a;
echo $b;
?>

注意:這里的刪除只是刪除了這個值的引用而矣,值并不會變化。所以$b依然是5,$a不存在了,所以這里可以得出一個結論,直接賦值($a = 5)實際上$a是5這個值的一個引用(我個人的結論)。

4.引用定位

以下一個例子:

<?php

$var = &$GLOBALS[‘var’];

unset($var); //因為引用賦值的變量就是它本身,所以。。這里刪除后,$GLOBALS[‘var’]也同樣被刪除了。

?>

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女