global &一直没明白是如何个工作原理
global &一直没明白是怎么个工作原理
<br />$var1 = 1;<br />$var2 = 2;<br />function test(){<br />global $var1,$var2; // <br />$var1 = 3;//$var1 重新赋值 又没有return<br />}<br />test();<br />echo $var1; //为什么是3<br />
<br />$var1 = 1;<br />$var2 = 2;<br />function test(){<br />global $var1,$var2;<br />$var1 = &var2;<br />}<br />test();<br />echo $var1 //1 想不通<br />
<br />$var1 = 1; <br />$var2 = 2; <br />function test_global() <br />{ <br /> global $var1,$var2; <br /> $var1=&$var2; <br /> $var1=7; <br />}<br />test_global(); <br />echo $var1; <br />echo $var2;//结果是1和7<br />
------解决方案--------------------
楼主的三个函数,均没有传递参数进去。
global的作用就在此。
当你不传参数进去,又要用到这个变量的时候。global一下
------解决方案--------------------
谢谢。请再讲下“&”的作用 $var1 = &var2 究竟如何理解?
------解决方案--------------------
$var1 = 1;
$var2 = 2;
function test(){
global $var1,$var2;
$var1 = &var2;
}
test();
echo $var1 //1 想不通
先给你解释这个: test()函数中的$var1 = &var2; 这个$var1只是函数内的局部变量,它并不属于全局变量。如果在test()中打印$var1会得到结果$var1 = 2;
------解决方案--------------------
$var1 = 1;
$var2 = 2;
function test_global()
{
global $var1,$var2;
$var1=&$var2;
$var1=7;
}
test_global();
echo $var1;
echo $var2;//结果是1和7
我们在来看这个,同理,$var1仍然为局部变量。但是在test()中$var1=&$var2; 这句代码的意思是把$var1的值 指向了$var2的指针所对应的内存地址(记作AA)。这个时候$var1=7,也就是说把AA变为了7。
PHP 的引用,希望能帮助你理解。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

華為正在全球推出Watch GT 5和Watch GT 5 Pro智慧手錶的軟體版本5.0.0.100(C00M01)。這兩款智慧手錶最近在歐洲推出,標準型號是該公司最便宜的型號。這和諧

《鐵拳》系列總監原田勝宏曾認真嘗試將桑德斯上校帶入這款標誌性格鬥遊戲中。在接受 TheGamer 採訪時,原田透露,他向日本肯德基提出了這個想法,希望將這位快餐傳奇人物納入其中。

2024 年 9 月早些時候,Anker 的 Zolo 140W 充電器被洩露,這是該公司首款帶有顯示器的壁式充電器,這引起了轟動。現在,小李TV在YouTube上發布的新開箱影片讓我們親眼目睹了這款hi

小米即將在中國推出米家石墨烯油汀暖爐。該公司最近在其優品平台上成功舉辦了一次智慧家居產品眾籌活動。根據頁面顯示,該設備已開始出貨至

特斯拉正在推出最新的全自動駕駛(監督)版本12.5.5,並最終帶來了承諾的Cybertruck FSD 選項,距離皮卡上市十個月後,該功能包含在基礎系列的裝飾價格中。 F

Garmin 將於本月底為其最新的高階智慧手錶提供一組新的穩定更新。回顧一下,該公司發布了系統軟體 11.64,以解決 Enduro 3、Fenix E 和 Fenix 8 的高電池消耗問題(亞馬遜售價 1,099.99 美元)。

三星期待已久的「特別版」可折疊手機的推出又迎來了另一個轉折。最近幾週,有關所謂 Galaxy Z Fold 特別版的傳言相當安靜。相反,焦點已轉移到 Galaxy S25 系列,包括

Manjaro 已有十多年的歷史,被認為是最用戶友好的 Linux 發行版之一,適合初學者和高級用戶,易於安裝和使用。這個基於 Arch 的發行版主要在奧地利、德國和法國開發
