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

首頁 php教程 php手冊 php學習日誌(2)-php變數

php學習日誌(2)-php變數

Aug 18, 2016 am 08:57 AM

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

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

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

<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>?>

此時瀏覽器會出現錯誤提示:

php學習日誌(2)-php變數

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

php學習日誌(2)-php變數圖、Python變數未賦值發(fā)生錯誤???????????????

????? php是一種弱型別語言,定義變數時,我們不需要定義變數的類型,php會根據變數的值,自動的將變數轉換成正確的資料型別。如下例所示:

<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學習日誌(2)-php變數,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>
?>

結果為:

php學習日誌(2)-php變數

????? 接下來我們將對php的四種變數作用域進行討論,而變數作用域定義了變數的作用範圍,php主要有以下四種變數作用域:

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

(php學習日誌(2)-php變數)局部與全局作用域

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

global 關鍵字。

實例:

<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學習日誌(2)-php變數0<span style="color: #000000">;
    </span><span style="color: #0000ff">echo</span> "測試函數內變量<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未在函數內定義,在引用時出現錯誤.</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> "測試函數外變量<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未在函數內定義,在引用時出現警告.</span>
?>

結果如下:

php學習日誌(2)-php變數

圖、局部變量與全局變量

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

(2)global關鍵字

????? global 關鍵字用于函數內訪問全局變量,在函數內調用函數外定義的全局變量,需要用global關鍵字。值得一提的是,這和參數的調用不同,參數的調用并不會改變該變量在內存中的值,而global調用是直接調用內存中的該值,直接對它進行操作,故會改變其值。

<span style="color: #000000">php
</span><span style="color: #008000">/*</span><span style="color: #008000">在函數內調用函數外的變量,需要用到global關鍵字</span><span style="color: #008000">*/</span>
<span style="color: #008000">/*重要:</span><span style="color: #008000">這種調用會改變變量在內存中的值</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">
 * 以下這種方式是不被允許的,只有在函數內調用函數外的變量才能使用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學習日誌(2)-php變數php學習日誌(2)-php變數</span>
?>

?

*注意:超級全局變量 $GLOBALS[index]

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

實例:

<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學習日誌(2)-php變數()
{
    </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不用寫$字符,否則報錯:$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學習日誌(2)-php變數5<span style="color: #000000">;
}

</span><span style="color: #0000ff">echo</span> "執(zhí)行myTest_php學習日誌(2)-php變數:<br>"<span style="color: #000000">;
myTest_php學習日誌(2)-php變數();
</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學習日誌(2)-php變數2;     <span style="color: #008000">//</span><span style="color: #008000">未將GLOBALS[index]放在函數里面,無效</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>?>

結果為:

GLOBALS[index] introduce

圖、GLOBALS[index]的用法示例

(3)static關鍵字

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

實例:

<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學習日誌(2)-php變數<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學習日誌(2)-php變數</span>
myTest(); <span style="color: #008000">//</span><span style="color: #008000">輸出為:2</span>

<span style="color: #008000">/*</span><span style="color: #008000">函數里面的靜態(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)參數作用域

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

實例:

<span style="color: #000000">php
</span><span style="color: #008000">/*</span><span style="color: #008000">參數(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">結果為:傳遞的值為5.</span>
myTest("string") <span style="color: #008000">//</span><span style="color: #008000">結果為:傳遞的值為string.</span>
?>

?

?

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

Technorati 標簽: php,變量,local,global,static,參數傳遞,GLOBALS[index]
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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