精品少妇人妻av免费久久洗澡_欧美 日韩 国产 激情_污污动漫在线观看_青青草免费在线视频观看_亚洲色欲综合一区二区三区_一级片视频免费观看_国产在线拍揄自揄拍无码_精品这里只有精品_亚洲熟妇国产熟妇肥婆_狠狠干视频网站_欧美深夜福利视频_尤物国产在线观看

極速下載站 —— 提供優(yōu)質(zhì)軟件下載服務(wù),感受全新的極速下載體驗(yàn)!

最近更新 | 軟件專題 | 軟件分類 | 軟件排行

您的位置:極速下載站資訊首頁(yè)軟件教程電腦軟件教程 → php基礎(chǔ)教程之變量、函數(shù)、對(duì)象的引用

php基礎(chǔ)教程之變量、函數(shù)、對(duì)象的引用

時(shí)間:2011-12-31 08:41:09  作者:不思議游戲  瀏覽量:46

PHP 中引用的意思是:不同的名字訪問(wèn)同一個(gè)變量?jī)?nèi)容.
與C語(yǔ)言中的指針是有差別的.C語(yǔ)言中的指針里面存儲(chǔ)的是變量的內(nèi)容在內(nèi)存中存放的地址

變量的引用

PHP 的引用允許你用兩個(gè)變量來(lái)指向同一個(gè)內(nèi)容
[php]
$a="ABC";
$b =&$a;
echo $a;//這里輸出:ABC
echo $b;//這里輸出:ABC
$b="EFG";
echo $a;//這里$a的值變?yōu)镋FG 所以輸出EFG
echo $b;//這里輸出EFG
?>
[/php]

函數(shù)的傳址調(diào)用
傳址調(diào)用我就不多說(shuō)了 下面直接給出代碼
[php]
function test(&$a)
{
$a=$a+100;
}
$b=1;
echo $b;//輸出1
test($b);   //這里$b傳遞給函數(shù)的其實(shí)是$b的變量?jī)?nèi)容所處的內(nèi)存地址,通過(guò)在函數(shù)里改變$a的值就可以改變$b的值了
echo "
";
echo $b;//輸出101
[/php]
要注意的是,在這里test(1);的話就會(huì)出錯(cuò),原因自己去想

函數(shù)的引用返回
先看代碼
[php]
function &test()
{
static $b=0;//申明一個(gè)靜態(tài)變量
$b=$b+1;
echo $b;
return $b;
}

$a=test();//這條語(yǔ)句會(huì)輸出$b的值為1
$a=5;
$a=test();//這條語(yǔ)句會(huì)輸出$b的值為2

$a=&test();//這條語(yǔ)句會(huì)輸出$b的值為3
$a=5;
$a=test();//這條語(yǔ)句會(huì)輸出$b的值為6
[/php]
下面解釋下:
通過(guò)這種方式$a=test();得到的其實(shí)不是函數(shù)的引用返回,這跟普通的函數(shù)調(diào)用沒(méi)有區(qū)別至于原因:這是PHP的規(guī)定
PHP規(guī)定通過(guò)$a=&test(); 方式得到的才是函數(shù)的引用返回
至于什么是引用返回呢(PHP手冊(cè)上說(shuō):引用返回用在當(dāng)想用函數(shù)找到引用應(yīng)該被綁定在哪一個(gè)變量上面時(shí)。) 這句狗屁話害我半天沒(méi)看懂

用上面的例子來(lái)解釋就是
$a=test()方式調(diào)用函數(shù),只是將函數(shù)的值賦給$a而已,而$a做任何改變都不會(huì)影響到函數(shù)中的$b
而通過(guò)$a=&test()方式調(diào)用函數(shù)呢, 他的作用是將return $b中的$b變量的內(nèi)存地址與$a變量的內(nèi)存地址指向了同一個(gè)地方
即產(chǎn)生了相當(dāng)于這樣的效果($a=&b;) 所以改變$a的值也同時(shí)改變了$b的值所以在執(zhí)行了
$a=&test();
$a=5;
以后,$b的值變?yōu)榱?

這里是為了讓大家理解函數(shù)的引用返回才使用靜態(tài)變量的,其實(shí)函數(shù)的引用返回多用在對(duì)象中

對(duì)象的引用
[php]
class a{
var $abc="ABC";
}
$b=new a;
$c=$b;
echo $b->abc;//這里輸出ABC
echo $c->abc;//這里輸出ABC
$b->abc="DEF";
echo $c->abc;//這里輸出DEF
?>
[/php]
以上代碼是在PHP5中的運(yùn)行效果
在PHP5中 對(duì)象的復(fù)制 是通過(guò)引用來(lái)實(shí)現(xiàn)的。上列中$b=new a; $c=$b; 其實(shí)等效于$b=new a; $c=&$b;
PHP5中默認(rèn)就是通過(guò)引用來(lái)調(diào)用對(duì)象, 但有時(shí)你可能想建立一個(gè)對(duì)象的副本,并希望原來(lái)的對(duì)象的改變不影響到副本 . 為了這樣的目的,PHP定義了一個(gè)特殊的方法,稱為__clone.

引用的作用
如果程序比較大,引用同一個(gè)對(duì)象的變量比較多,并且希望用完該對(duì)象后手工清除它,個(gè)人建議用 "&" 方式,然后用$var=null的方式清除. 其它時(shí)候還是用php5的默認(rèn)方式吧. 另外, php5中對(duì)于大數(shù)組的傳遞,建議用 "&" 方式, 畢竟節(jié)省內(nèi)存空間使用。


取消引用
當(dāng)你 unset 一個(gè)引用,只是斷開了變量名和變量?jī)?nèi)容之間的綁定。這并不意味著變量?jī)?nèi)容被銷毀了。例如:

$a = 1;
$b =& $a;
unset ($a);
?>  

不會(huì) unset $b,只是 $a。


global 引用
當(dāng)用 global $var 聲明一個(gè)變量時(shí)實(shí)際上建立了一個(gè)到全局變量的引用。也就是說(shuō)和這樣做是相同的:

$var =& $GLOBALS["var"];
?>  

這意味著,例如,unset $var 不會(huì) unset 全局變量。

$this
在一個(gè)對(duì)象的方法中,$this 永遠(yuǎn)是調(diào)用它的對(duì)象的引用。


//下面再來(lái)個(gè)小插曲
php中對(duì)于地址的指向(類似指針)功能不是由用戶自己來(lái)實(shí)現(xiàn)的,是由Zend核心實(shí)現(xiàn)的,php中引用采用的是“寫時(shí)拷貝”的原理,就是除非發(fā)生寫操作,指向同一個(gè)地址的變量或者對(duì)象是不會(huì)被拷貝的。

通俗的講
1:如果有下面的代碼
[php]
$a="ABC";
$b=$a;
[/php]
其實(shí)此時(shí)$a與$b都是指向同一內(nèi)存地址而并不是$a與$b占用不同的內(nèi)存

2:如果在上面的代碼基礎(chǔ)上再加上如下代碼
[php]
$a="EFG";
[/php]
由于$a與$b所指向的內(nèi)存的數(shù)據(jù)要重新寫一次了,此時(shí)Zend核心會(huì)自動(dòng)判斷自動(dòng)為$b生產(chǎn)一個(gè)$a的數(shù)據(jù)拷貝,重新申請(qǐng)一塊內(nèi)存進(jìn)行存儲(chǔ)

相關(guān)資訊

相關(guān)軟件

電腦軟件教程排行
最新電腦軟件教程
軟件教程分類

更多常用電腦軟件

更多同類軟件專題
精品少妇人妻av免费久久洗澡_欧美 日韩 国产 激情_污污动漫在线观看_青青草免费在线视频观看_亚洲色欲综合一区二区三区_一级片视频免费观看_国产在线拍揄自揄拍无码_精品这里只有精品_亚洲熟妇国产熟妇肥婆_狠狠干视频网站_欧美深夜福利视频_尤物国产在线观看
日韩国产在线观看一区| 国产不卡一区| 青青在线精品| 亚洲午夜精品久久久久久app| 日本亚洲欧美天堂免费| 久久中文字幕av| 久久精品人人| 婷婷综合国产| 亚洲天堂免费电影| 日本a级不卡| 夜久久久久久| 久久久水蜜桃av免费网站| 国产日产精品_国产精品毛片 | 精品视频国内| 日韩亚洲精品在线观看| 欧美va天堂| 亚洲成人精品| 欧美激情网址| 欧美黄页在线免费观看| 欧美天堂一区二区| 日日夜夜免费精品| 午夜av一区| 美女在线视频一区| 青草久久视频| 欧美视频久久| 国产精品极品| 国产精久久久| 久久精品国产在热久久| 嫩呦国产一区二区三区av| 国产精品观看| 日韩av片子| 国产精品主播在线观看| 国产精品高潮呻吟久久久久| 久久久久久亚洲精品美女| 麻豆精品av| 久久影院午夜精品| 久久精品91| 三级欧美在线一区| 国产欧美一级| 中文av在线全新| 日本а中文在线天堂| 日韩精品免费一区二区三区| 久久青草久久| 亚洲男女自偷自拍| 视频一区二区不卡| 国产精品久一| 香蕉精品久久| 亚洲专区欧美专区| 国产午夜久久av| 国产资源在线观看入口av| 久久天堂精品| 日韩欧美久久| 国产一区二区精品久| 99久久久久国产精品| 美女尤物久久精品| 精品久久美女| 亚洲在线免费| 久久97视频| 亚洲精品123区| 国产乱人伦精品一区| 日韩久久精品| 亚洲1区在线观看| 美女精品久久| 中文在线一区| 福利一区二区三区视频在线观看| 国产韩日影视精品| 欧美激情 亚洲a∨综合| 亚洲一级黄色| 深夜福利视频一区二区| 精品视频国产| 国产丝袜一区| 日韩在线播放一区二区| 麻豆成全视频免费观看在线看| 久久免费高清| 亚洲欧洲av| 久久av影院| 成人亚洲一区二区| 日韩国产欧美视频| 精品久久免费| 美女精品在线| 久久久久网站| 国产精品一区二区三区美女| 日韩欧美二区| 日韩一区二区三区免费视频| 日韩一区二区在线免费| 日韩一区免费| 免费久久精品| 四虎成人av| 91精品美女| 国产精品三上| 久久一区二区三区电影| 国产一区二区三区不卡视频网站 | 久久国产精品免费一区二区三区| 欧洲av一区二区| 影音先锋久久精品| 三级小说欧洲区亚洲区| 国产精品激情电影| 日韩精品一区二区三区av | 精品中文在线| 国产日韩视频在线| 天堂久久av| 亚洲天堂日韩在线| 一区在线视频观看| 日韩大片在线| 黄色网一区二区| 免费在线亚洲| 亚洲3区在线| 综合亚洲视频| 人人爽香蕉精品| 欧美va天堂| 久久免费国产| 日韩黄色大片网站| 国产美女高潮在线观看| 久久免费福利| 国产成人黄色| 久久夜夜操妹子| 色婷婷狠狠五月综合天色拍| 日韩不卡在线| 伊人久久成人| 喷白浆一区二区| 综合色就爱涩涩涩综合婷婷| 免费人成黄页网站在线一区二区| 欧美91精品| 免费久久99精品国产| 欧美美女一区| 国产精品视区| 日韩精品久久理论片| 欧美伊人影院| 国产精品hd| 亚洲伦乱视频| 中国女人久久久| 综合一区在线| 麻豆一区二区99久久久久| 高清av一区| 久久亚洲国产| 亚洲免费影视| 青青伊人久久| 免费在线亚洲欧美| 久久精品一区二区不卡| 国产亚洲毛片在线| 日本不卡一区二区三区| 久久亚洲道色| 久久精品av| 亚洲v天堂v手机在线| 国产精品欧美日韩一区| 欧美日韩精品免费观看视完整| 亚洲一级网站| 欧美亚洲色图校园春色| 福利在线免费视频| av不卡在线| 国产精品蜜月aⅴ在线| 韩国久久久久久| 天堂资源在线亚洲| 亚洲乱码一区| 久久精品毛片| 怡红院精品视频在线观看极品| 日韩一区二区三区在线看| 精品中文在线| 亚洲欧美日韩一区在线观看| 综合国产精品| 日韩黄色大片| 日韩视频一二区| 日韩精品欧美| 久久精品av麻豆的观看方式| 天堂av在线| 日本三级亚洲精品| 国产精品av一区二区| 天堂成人国产精品一区| 嫩草伊人久久精品少妇av杨幂| 亚洲高清影视| 激情中国色综合| 日本在线视频一区二区| 日本欧美不卡| 国产精品伊人| 老司机久久99久久精品播放免费| 久久精品国产99| 中文字幕日韩亚洲| 国产在线不卡| 成人精品久久| 国产色噜噜噜91在线精品| 美女毛片一区二区三区四区| 久久av中文| 日本欧洲一区二区| 亚洲高清av| 精品欧美视频| 国产亚洲久久| 日韩欧美中文字幕电影| 9久re热视频在线精品| 日韩精品看片| 中文av在线全新| 高清一区二区三区| 精品国产精品国产偷麻豆| 97久久超碰| 日韩在线观看中文字幕| 丝瓜av网站精品一区二区| 欧美福利专区| 久久裸体视频| 三级精品视频| 日韩免费久久| 亚洲综合电影|