亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php全局變量和類配合使用深刻理解

2020-03-22 19:49:40
字體:
來源:轉載
供稿:網友
情況1:
father.php如下定義:
復制代碼 代碼如下:
?php
$jack = 1000;
?
children.php 如下定義:
?php
require("father.php");
$jack=123;
echo $jack."/n";
?

php children.php
運行輸出為123.
如果將$jack=123注釋掉,運行為1000,如果將$jack=123放到require("father.php");之前,運行結果為1000.
比較好理解:php解釋執行,解釋到哪,執行到哪。。像$jack這種屬于html' target='_blank'>全局變量,如第一種情況的初始用它的時候是1000,是在require
的時候運行得到的,結果又被改成了123,所以運行結果輸出123.
情況2:
children.php代碼改為如下:
復制代碼 代碼如下:
?php
require("father.php");
function testJack(){
if(!isset($jack)){
echo '$jack is null'."/n";
}
}//testJack
testJack();
?

php children.php
運行結果為:$jack is null.也就是說在testJack()中引用的$jack是一個局部變量。
如果使用global關鍵字,聲明這個$jack是一個全局變量,代碼改為如下:
復制代碼 代碼如下:
?php
require("father.php");
function testJack(){
global $jack;
if(!isset($jack)){
echo '$jack is null'."/n";
}else{
echo '$jack is not null'."/n";
}
}//testJack
testJack();
?

則運行結果為$jack is not null!
情況3:
children.php代碼如下:
復制代碼 代碼如下:
?php
require("father.php");
class JackTest{
public function testJack(){
if(!isset($jack)){
echo '$jack is null'."/n";
}else{
echo '$jack is not null'."/n";
}
}//testJack
}
$jackTest = new JackTest();
$jackTest- testJack();
?

運行結果輸出:$jack is null
這是因為class中的這個函數的$jack這是一個局部變量啊。
如果在function testJack開頭加 global $jack;那么就輸出$jack is not null了。
比較容易理解。
情況4:
把文件名當做參數動態加載,代碼如下:
復制代碼 代碼如下:
?php
$casefile = $_SERVER['argv'][1];
echo $casefile."/n";
require($casefile);
echo $jack."/n";
?

運行php children.php father.php
結果如下:
father.php
1000
也就是說我們動態加載程序運行成功了。。
情況5:
要把動態加載和類的定義結合起來:
目錄關系式這樣的:
|- c.php
|- Bfold - b.php
|- Afold - a.class.php (里面的函數引用了../Bfold/b.php )
也就是說 在c.php 中new 了class a.class ,而a.class.php 的一個函數中require 了Bfold 文件夾下的b.php ,這個require(../Bfold/b.php )報錯,Warning: ……
因為你讓服務器當前執行的是c.php 文件,所以php 解析的時候是把路徑相對于c.php 而言的,你試試把(../Bfold/b.php )改成(Bfold/b.php )看看,應該就不會報錯了。
下面是程序例子,說明在函數內部使用require_once (A.php ).
對require_once 的理解:
假設B.php 中引用了require_once(A.php); 這條語句。。
那么其實是相當于調用了A.php 這個匿名的lambda 函數去執行。如下圖:
C.php 在一個函數調用中 require 了 B.php------》
B.php 在普通語句中 require 了 A.php--------》
A.php
現在我們調用 php B.php ;因為 B.php 在普通語句中使用了 require 調用了 A.php ,那么 A.php 會把它的相對 A 來說是全局變量的變量,注冊到 B.php 的環境中。因為 B.php 是根開始調用文件,他的運行環境就是全局環境。所以A.php 文件中的變量在 B.php 可以被正常使用。

現在我們調用 php C.php ;那么 C 是在函數使用 require 調用了 B.php 的,然后 B 又調用了 A ,感覺在這個調用的過程中,相對 B 和 A 根運行環境是 C 的調用函數的環境 ,但 C 的調用函數如果要使用 B 和 A 中的變量,就沒有辦法了。

如果用 global $a, 去引用,那么由于 $a 在這種情況下不屬于全局變量,引用不到。
如果用 $a 去引用,那么由于 $a 會被當成局部變量也引用不到的。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日日做人人爱| 亚洲国产日韩欧美综合久久| 亚洲精品电影在线| 亚洲美女av在线播放| 亚洲欧美中文日韩在线v日本| 国产精品高清免费在线观看| 国产欧亚日韩视频| 中文在线不卡视频| 91精品国产综合久久香蕉922| 亚洲精品久久久久久久久久久| 中文字幕在线看视频国产欧美在线看完整| 欧美成人性色生活仑片| 日本精品视频在线播放| 有码中文亚洲精品| 国产精品视频白浆免费视频| 91精品国产高清久久久久久久久| 91久久精品视频| www.欧美精品一二三区| 国产精品极品美女粉嫩高清在线| 热草久综合在线| 亚洲一区av在线播放| 日韩黄色高清视频| 欧美日韩xxx| 日韩国产中文字幕| 国产精品色午夜在线观看| 日本最新高清不卡中文字幕| 久久中国妇女中文字幕| 亚洲资源在线看| 色综合久综合久久综合久鬼88| 国产精品高潮在线| 久久久久久久香蕉网| 欧美俄罗斯性视频| 这里只有视频精品| 中文字幕日韩精品有码视频| 欧美裸体xxxxx| 亚洲成人免费在线视频| 欧美二区在线播放| 亚洲aaaaaa| 国产精品黄页免费高清在线观看| 中文字幕日韩精品在线观看| 中文日韩电影网站| 高清欧美性猛交| 欧美日韩免费区域视频在线观看| 国产乱人伦真实精品视频| 亚洲的天堂在线中文字幕| 性金发美女69hd大尺寸| 97香蕉超级碰碰久久免费的优势| 国产suv精品一区二区三区88区| 日韩性xxxx爱| 懂色aⅴ精品一区二区三区蜜月| 国产亚洲人成网站在线观看| 亚洲黄色有码视频| 91产国在线观看动作片喷水| 国内揄拍国内精品少妇国语| 亚洲高清色综合| 欧美激情一区二区三区在线视频观看| 国产日韩欧美中文在线播放| 亚洲国产精品va在线看黑人动漫| 欧美大片免费观看在线观看网站推荐| 亚洲精品国产品国语在线| 91美女片黄在线观| 国产午夜精品一区二区三区| 国产第一区电影| 久久久久久久香蕉网| 神马久久桃色视频| 3344国产精品免费看| 97av在线视频| 亚洲第一色中文字幕| 欧美在线视频观看免费网站| 久久免费视频在线| 亚洲免费中文字幕| 国产精品偷伦免费视频观看的| 播播国产欧美激情| 久久久www成人免费精品张筱雨| 久久伊人精品天天| 国产精品午夜一区二区欲梦| 欧美人与性动交a欧美精品| 午夜欧美不卡精品aaaaa| 亚洲成人在线视频播放| 中文字幕在线国产精品| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧美另类自拍| 亚洲国产成人av在线| 日韩久久免费电影| 久久久伊人欧美| 狠狠色噜噜狠狠狠狠97| 日韩精品免费视频| 成人黄色短视频在线观看| 欧美激情视频在线| 国产精品96久久久久久又黄又硬| 亚洲免费人成在线视频观看| 国产91精品久久久久| 久久精视频免费在线久久完整在线看| 538国产精品一区二区在线| 亚洲免费视频观看| 久久久久久一区二区三区| 久久免费视频在线观看| 亚洲一区二区三区毛片| 国产视频精品一区二区三区| 欧美成人在线免费视频| 热99精品只有里视频精品| 欧美成人一区二区三区电影| 日韩高清免费在线| 日韩精品一区二区三区第95| 日韩中文字幕精品视频| 精品国产91久久久久久| 欧美性xxxx在线播放| 国内精品久久久久久久久| 国产视频一区在线| 精品国产欧美一区二区五十路| 欧美在线一级va免费观看| 欧美午夜xxx| 色婷婷av一区二区三区在线观看| 久热精品视频在线免费观看| 中文字幕日本欧美| 欧洲精品毛片网站| 欧美日韩国产一区二区三区| 69久久夜色精品国产69| 日韩在线观看高清| 亚洲第一福利在线观看| 97久久超碰福利国产精品…| 国产亚洲精品91在线| 日韩精品免费在线视频| 亚洲欧美成人网| 综合欧美国产视频二区| 成人做爰www免费看视频网站| 亚洲一区二区三区香蕉| 亚洲91av视频| 亚洲精品美女久久| 国产午夜精品免费一区二区三区| 国产精品久久97| 久久亚洲影音av资源网| 91超碰中文字幕久久精品| 亚洲va久久久噜噜噜| 国产精品男女猛烈高潮激情| 欧美亚洲国产日韩2020| 国产午夜精品免费一区二区三区| 国产精品成av人在线视午夜片| 精品亚洲一区二区三区| 亚洲国产成人久久| 日韩av中文在线| 日韩在线www| 2021久久精品国产99国产精品| 成人免费看黄网站| 国产精品福利在线观看网址| 亚洲精品资源美女情侣酒店| 亚洲国产精品福利| 久久av.com| 日韩在线免费观看视频| 亚洲伊人一本大道中文字幕| 中文字幕一区二区三区电影| 国产精品美女主播| 欧美激情一二区| 国产精品毛片a∨一区二区三区|国| 欧美激情乱人伦| 91av在线不卡| 欧美在线中文字幕| 97视频在线免费观看| 亚洲国产精品国自产拍av秋霞| 狠狠操狠狠色综合网| 欧美日韩一区二区三区在线免费观看| 亚洲视频自拍偷拍| 亚洲人成电影在线观看天堂色| 亚洲女人天堂视频|