国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 php手冊 php學(xué)習(xí)日誌(2)-php變數(shù)

php學(xué)習(xí)日誌(2)-php變數(shù)

Aug 18, 2016 am 08:57 AM

??????? 變數(shù)是用來儲(chǔ)存資料的容器,而與代數(shù)相似,可以給予變數(shù)某一個(gè)確定的值(例如:$x=3)或是賦予其它的變數(shù)(例如:$x=$y+$z)。變數(shù)的定義主要有以下規(guī)則:

  • 變數(shù)以$開始,後面跟著變數(shù)的名稱;
  • 變數(shù)名稱有數(shù)字、字母、底線構(gòu)成,且第一個(gè)字元不能為數(shù)字;
  • 變數(shù)名稱不能包含空格;
  • 變數(shù)名稱區(qū)分大小寫。

??? php中的變數(shù)在第一次賦予它值的時(shí)候被創(chuàng)建,如果變數(shù)未賦值,則在輸出時(shí)會(huì)出現(xiàn)錯(cuò)誤,如下面所示:

<span style="color: #000000">php
</span><span style="color: #800080">$x</span><span style="color: #000000">;
</span><span style="color: #0000ff">echo</span> <span style="color: #800080">$x</span><span style="color: #000000">;
</span>?>

此時(shí)瀏覽器會(huì)出現(xiàn)錯(cuò)誤提示:

php學(xué)習(xí)日誌(2)-php變數(shù)

這個(gè)部分與Python有所區(qū)別,Python中如果變數(shù)沒有被賦值,編譯器會(huì)直接提示錯(cuò)誤,我們需要注意一下。

php學(xué)習(xí)日誌(2)-php變數(shù)圖、Python變數(shù)未賦值發(fā)生錯(cuò)誤???????????????

????? php是一種弱型別語言,定義變數(shù)時(shí),我們不需要定義變數(shù)的類型,php會(huì)根據(jù)變數(shù)的值,自動(dòng)的將變數(shù)轉(zhuǎn)換成正確的資料型別。如下例所示:

<span style="color: #000000">php
</span><span style="color: #800080">$x</span>=3<span style="color: #000000">;
</span><span style="color: #800080">$y</span>=3.0<span style="color: #000000">;
</span><span style="color: #800080">$str</span>="hello"<span style="color: #000000">;
</span><span style="color: #800080">$bool</span>=<span style="color: #0000ff">false</span><span style="color: #000000">;
</span><span style="color: #800080">$arr</span>=<span style="color: #0000ff">array</span>(php學(xué)習(xí)日誌(2)-php變數(shù),2,3<span style="color: #000000">);
</span><span style="color: #800080">$_null</span>=<span style="color: #0000ff">NULL</span><span style="color: #000000">;

</span><span style="color: #0000ff">echo</span> <span style="color: #008080">gettype</span>(<span style="color: #800080">$x</span>),"<br>";     <span style="color: #008000">//</span><span style="color: #008000">輸出類型為integ</span>
<span style="color: #0000ff">echo</span> <span style="color: #008080">gettype</span>(<span style="color: #800080">$y</span>),"<br>";     <span style="color: #008000">//</span><span style="color: #008000">輸出類型為double</span>
<span style="color: #0000ff">echo</span> <span style="color: #008080">gettype</span>(<span style="color: #800080">$str</span>),"<br>";   <span style="color: #008000">//</span><span style="color: #008000">輸出類型為string</span>
<span style="color: #0000ff">echo</span> <span style="color: #008080">gettype</span>(<span style="color: #800080">$bool</span>),"<br>";  <span style="color: #008000">//</span><span style="color: #008000">輸出類型為boolean</span>
<span style="color: #0000ff">echo</span> <span style="color: #008080">gettype</span>(<span style="color: #800080">$arr</span>),"<br>";   <span style="color: #008000">//</span><span style="color: #008000">輸出類型為array</span>
<span style="color: #0000ff">echo</span> <span style="color: #008080">gettype</span>(<span style="color: #800080">$_null</span>),"<br>";  <span style="color: #008000">//</span><span style="color: #008000">輸出類型為NULL</span>
?>

結(jié)果為:

php學(xué)習(xí)日誌(2)-php變數(shù)

????? 接下來我們將對php的四種變數(shù)作用域進(jìn)行討論,而變數(shù)作用域定義了變數(shù)的作用範(fàn)圍,php主要有以下四種變數(shù)作用域:

  • local
  • global
  • static
  • parameter(參數(shù))

(php學(xué)習(xí)日誌(2)-php變數(shù))局部與全局作用域

????? 在函數(shù)外定義的變量,擁有全域作用域,除了函數(shù)外,全域作用域可以被腳本中的任何部分訪問,要在一個(gè)函數(shù)中訪問全域變量,需要在函數(shù)中變量之前加上

global 關(guān)鍵字。

實(shí)例:

<span style="color: #000000">php
</span><span style="color: #008000">/*</span><span style="color: #008000">局部作用域與全局作用域</span><span style="color: #008000">*/</span>
<span style="color: #800080">$a</span>=5<span style="color: #000000">;

</span><span style="color: #0000ff">function</span><span style="color: #000000"> test()
{
    </span><span style="color: #800080">$b</span>=php學(xué)習(xí)日誌(2)-php變數(shù)0<span style="color: #000000">;
    </span><span style="color: #0000ff">echo</span> "測試函數(shù)內(nèi)變量<br>"<span style="color: #000000">;
    </span><span style="color: #0000ff">echo</span> "變量a的值為:<span style="color: #800080">$a</span> <br>";  <span style="color: #008000">//</span><span style="color: #008000">變量$a未在函數(shù)內(nèi)定義,在引用時(shí)出現(xiàn)錯(cuò)誤.</span>
    <span style="color: #0000ff">echo</span> "變量b的值為:<span style="color: #800080">$b</span><br>"<span style="color: #000000">;
}

test();

</span><span style="color: #0000ff">echo</span> "測試函數(shù)外變量<br>"<span style="color: #000000">;
</span><span style="color: #0000ff">echo</span> "變量a的值為:<span style="color: #800080">$a</span> <br>"<span style="color: #000000">;
</span><span style="color: #0000ff">echo</span> "變量b的值為:<span style="color: #800080">$b</span><br>";    <span style="color: #008000">//</span><span style="color: #008000">變量$a未在函數(shù)內(nèi)定義,在引用時(shí)出現(xiàn)警告.</span>
?>

結(jié)果如下:

php學(xué)習(xí)日誌(2)-php變數(shù)

圖、局部變量與全局變量

可見,在局部函數(shù)里面,是不能直接訪問全局變量的,如果要訪問全局變量,須在函數(shù)里面的變量前加上global關(guān)鍵字。同樣,在函數(shù)外也不能直接訪問函數(shù)里面的變量,函數(shù)執(zhí)行結(jié)束內(nèi)存會(huì)自動(dòng)回收,故我們無法訪問到。

(2)global關(guān)鍵字

????? global 關(guān)鍵字用于函數(shù)內(nèi)訪問全局變量,在函數(shù)內(nèi)調(diào)用函數(shù)外定義的全局變量,需要用global關(guān)鍵字。值得一提的是,這和參數(shù)的調(diào)用不同,參數(shù)的調(diào)用并不會(huì)改變該變量在內(nèi)存中的值,而global調(diào)用是直接調(diào)用內(nèi)存中的該值,直接對它進(jìn)行操作,故會(huì)改變其值。

<span style="color: #000000">php
</span><span style="color: #008000">/*</span><span style="color: #008000">在函數(shù)內(nèi)調(diào)用函數(shù)外的變量,需要用到global關(guān)鍵字</span><span style="color: #008000">*/</span>
<span style="color: #008000">/*重要:</span><span style="color: #008000">這種調(diào)用會(huì)改變變量在內(nèi)存中的值</span><span style="color: #008000">*/</span>
<span style="color: #800080">$x</span>=5<span style="color: #000000">;
</span><span style="color: #800080">$y</span>=6<span style="color: #000000">;
</span><span style="color: #008000">/*</span><span style="color: #008000">
 * 以下這種方式是不被允許的,只有在函數(shù)內(nèi)調(diào)用函數(shù)外的變量才能使用global
golbal $z=7;
</span><span style="color: #008000">*/</span>
<span style="color: #0000ff">function</span><span style="color: #000000"> myTest()
{
    </span><span style="color: #0000ff">global</span> <span style="color: #800080">$x</span>,<span style="color: #800080">$y</span><span style="color: #000000">;
    </span><span style="color: #800080">$y</span>=<span style="color: #800080">$x</span>+<span style="color: #800080">$y</span><span style="color: #000000">;
}

myTest();
</span><span style="color: #0000ff">echo</span> "y=<span style="color: #800080">$y</span>"  <span style="color: #008000">//</span><span style="color: #008000">輸出y=php學(xué)習(xí)日誌(2)-php變數(shù)php學(xué)習(xí)日誌(2)-php變數(shù)</span>
?>

?

*注意:超級(jí)全局變量 $GLOBALS[index]

????? php將所有全局變量存儲(chǔ)在一個(gè)名為:$GLOBALS[index]的數(shù)組中,這個(gè)數(shù)組可以在函數(shù)內(nèi)訪問,也可以用來直接更新全局變量(只能在函數(shù)內(nèi)進(jìn)行)。

實(shí)例:

<span style="color: #000000">php
</span><span style="color: #008000">/*</span><span style="color: #008000"> GLOBALS[index]的用法講解 </span><span style="color: #008000">*/</span>
<span style="color: #800080">$x</span>=5<span style="color: #000000">;
</span><span style="color: #800080">$y</span>=6<span style="color: #000000">;

</span><span style="color: #0000ff">function</span><span style="color: #000000"> myTest_php學(xué)習(xí)日誌(2)-php變數(shù)()
{
    </span><span style="color: #800080">$GLOBALS</span>['y']=<span style="color: #800080">$GLOBALS</span>['x']+<span style="color: #800080">$GLOBALS</span>['y'<span style="color: #000000">];
    </span><span style="color: #008000">/*</span><span style="color: #008000">index不用寫$字符,否則報(bào)錯(cuò):$x,$y undefined
    $GLOBALS['$y']=$GLOBALS['$x']+$GLOBALS['$y'];
    </span><span style="color: #008000">*/</span><span style="color: #000000">
}

</span><span style="color: #0000ff">function</span><span style="color: #000000"> myTest_2()
{
    </span><span style="color: #800080">$GLOBALS</span>['x']=php學(xué)習(xí)日誌(2)-php變數(shù)5<span style="color: #000000">;
}

</span><span style="color: #0000ff">echo</span> "執(zhí)行myTest_php學(xué)習(xí)日誌(2)-php變數(shù):<br>"<span style="color: #000000">;
myTest_php學(xué)習(xí)日誌(2)-php變數(shù)();
</span><span style="color: #0000ff">echo</span> "y=<span style="color: #800080">$y</span>","<br>"<span style="color: #000000">;
</span><span style="color: #0000ff">echo</span> "x=<span style="color: #800080">$x</span>","<br>"<span style="color: #000000">;
</span><span style="color: #800080">$GLOBALS</span>['$x']=php學(xué)習(xí)日誌(2)-php變數(shù)2;     <span style="color: #008000">//</span><span style="color: #008000">未將GLOBALS[index]放在函數(shù)里面,無效</span>
<span style="color: #0000ff">echo</span> "x=<span style="color: #800080">$x</span>","<br>"<span style="color: #000000">;

</span><span style="color: #0000ff">echo</span> "執(zhí)行myTest_2:<br>"<span style="color: #000000">;
myTest_2();
</span><span style="color: #0000ff">echo</span> "x=<span style="color: #800080">$x</span>","<br>"<span style="color: #000000">;
</span>?>

結(jié)果為:

GLOBALS[index] introduce

圖、GLOBALS[index]的用法示例

(3)static關(guān)鍵字

????? 在一個(gè)函數(shù)執(zhí)行完成之后,它的變量通常都會(huì)刪除,有時(shí)我們希望函數(shù)中的某個(gè)變量保留,這時(shí)我們可以在申明變量時(shí)使用static關(guān)鍵字:

實(shí)例:

<span style="color: #000000">php
</span><span style="color: #008000">/*</span><span style="color: #008000">靜態(tài)變量static的用法</span><span style="color: #008000">*/</span>
<span style="color: #0000ff">function</span><span style="color: #000000"> myTest()
{
    </span><span style="color: #0000ff">static</span> <span style="color: #800080">$x</span>=0,<span style="color: #800080">$y</span>=php學(xué)習(xí)日誌(2)-php變數(shù)<span style="color: #000000">;
    </span><span style="color: #0000ff">echo</span> <span style="color: #800080">$x</span><span style="color: #000000">;
    </span><span style="color: #800080">$x</span>++<span style="color: #000000">;
}

myTest(); </span><span style="color: #008000">//</span><span style="color: #008000">輸出為:0</span>
myTest(); <span style="color: #008000">//</span><span style="color: #008000">輸出為:php學(xué)習(xí)日誌(2)-php變數(shù)</span>
myTest(); <span style="color: #008000">//</span><span style="color: #008000">輸出為:2</span>

<span style="color: #008000">/*</span><span style="color: #008000">函數(shù)里面的靜態(tài)變量不能直接被訪問</span><span style="color: #008000">*/</span>
<span style="color: #0000ff">echo</span> <span style="color: #800080">$y</span>;  <span style="color: #008000">//</span><span style="color: #008000">輸出為:Notice: Undefined variable: y</span>
?>

(4)參數(shù)作用域

????? 參數(shù)(parameter)的作用是將值傳遞給函數(shù)的局部變量。

實(shí)例:

<span style="color: #000000">php
</span><span style="color: #008000">/*</span><span style="color: #008000">參數(shù)(parameter)傳遞</span><span style="color: #008000">*/</span>
<span style="color: #0000ff">function</span> myTest(<span style="color: #800080">$x</span><span style="color: #000000">)
{
    </span><span style="color: #0000ff">echo</span> "傳遞的值為:<span style="color: #800080">$x</span>.<br>"<span style="color: #000000">;
}

myTest(</span>5);  <span style="color: #008000">//</span><span style="color: #008000">結(jié)果為:傳遞的值為5.</span>
myTest("string") <span style="color: #008000">//</span><span style="color: #008000">結(jié)果為:傳遞的值為string.</span>
?>

?

?

==php新手,有不對的地方希望各位博友提醒,萬分感謝==

Technorati 標(biāo)簽: php,變量,local,global,static,參數(shù)傳遞,GLOBALS[index]
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)