• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        PHP變量的運(yùn)用

        PHP變量的運(yùn)用

        更新時(shí)間:2022-05-05 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        PHP變量的使用



        作者:sports982002-8-13


        很多朋友在編寫PHP程序的時(shí)候有時(shí)候?qū)ψ兞靠傆兄荒艽_定的問題,而且也有很多問題就是因?yàn)?br>變量的處理不當(dāng)所造成的。這里就PHP變量系統(tǒng)說以下,不足之處還望指教。

        PHP的變量分為全局變量與局部變量。

        何為全局變量?

        學(xué)過C/JAVA/C++之類的朋友一定了解main(){}內(nèi)聲明的變量所達(dá)的區(qū)域了~,而PHP為解釋性語句并非
        編譯語言,我們也知道PHP不存在main(){}主體,從何聲明?其實(shí)PHP頁面本身就是個(gè)main(){}只要是在頁面內(nèi)
        而非在函數(shù)內(nèi)聲明的變量我們都稱其為全局變量...例如:

        <?php
        $int_a=0;//初始全局變量$int_a將其賦值為0
        echo "全局變量:".$int_a;//打印全局變量

        function child_a(){//局部變量的使用
        $int_a=0;//這里是局部變量,雖然與全局變量名相同但此變量僅在child_a內(nèi)可見
        echo "From child_a:".$int_a;
        }

        function child_b(){//調(diào)用全局變量
        global $int_a;//聲明調(diào)用全局變量
        echo "From child_b:".$int_a;
        }
        ?>


        從上面的一個(gè)例子,我們可以很簡單明了的看明白PHP中全局與局部變量之間的差距...

        另我們高興的是PHP提供了其他的CGI語言的服務(wù)器全局變量...這些變量當(dāng)頁面調(diào)入的時(shí)候就已經(jīng)由系統(tǒng)自動生成

        這些全局變量包含在

        $_SERVER($HTTP_SERVER_VARS)(服務(wù)器提供的相關(guān)變量服務(wù))PHP4.1.0
        $_ENV($HTTP_ENV_VARS)(保存相關(guān)環(huán)境變量)PHP4.1.0
        $_POST(保存使用Form post方法提交的變量)PHP4.1.0
        $_GET(保存使用Form GET/URI方法提交的變量)PHP4.1.0
        $_COOKIE(保存使用頁面獲得的COOKIE數(shù)據(jù))PHP4.1.0
        $_SESSION(保存站點(diǎn)內(nèi)會話變量)PHP4.1.0
        $HTTP_POST_VARS(同$_POST,按linuxforum.net一帖對此的評論是$_POST的效率比其更高)PHP4.1.0
        $HTTP_GET_VARS(同$_GET,評論同上.)PHP4.1.0
        $_REQUEST(包含了$_GET,$_POST,$_COOKIE,$_FILES)PHP4.1.0
        $_FILES(嚴(yán)格的說此變量已經(jīng)包含在$_POST和$HTTP_POST_VARS,主要是獲得form post方式提交的file變量)PHP4.1.0
        $GLOBALS(保存所有全局變量的數(shù)組)PHP3.0.0
        $php_errormsg(此全局變量必須在php.ini中將其打開:track_error=on)


        以上變量為系統(tǒng)全局變量,您不需要聲明他們就可以直接使用,當(dāng)然了,您的PHP版本一定要高于或等于他們后面所標(biāo)注的版本號。
        在使用這些變量的時(shí)候,您無需用global關(guān)鍵字來聲明他們...


        <?php
        function g_p(){
        echo "Welcome ".$_SERVER[REMOTE_ADDR].". nice meet you I am".$_SERVER[SERVER_ADDR];
        // Welcome 192.168.0.3. nice meet you I am 192.168.0.1
        }
        ?>



        自定義變量,PHP提供的自定義變量并不象編譯型語系那樣,需要先聲明。而是直接使用,但如果一個(gè)不合理的程序變量的雜亂無規(guī)
        我想過個(gè)幾天后也許你自己都不會讀明白的~,如果您只需要一個(gè)過度變量,您可以隨意的去聲明他只要不與其他變量發(fā)生沖突,而且符合命名規(guī)則
        用后建議使用unset將其刪除..


        PHP還提供了變量的變量這個(gè)概念

        就如以前有人發(fā)帖問過這個(gè)問題
        下面將這個(gè)表達(dá)一下~,其實(shí)這是個(gè)最簡單的變量的變量方法,我想如果對C里的指針和地址比較熟悉的人理解這個(gè)會很快的.

        <?php
        $vvv="int_a";
        $int_a="vvv";
        echo "vvv is:".$vvv;//vvv is:int_a
        echo "int_a is:".$int_a;//int_a is:vvv
        echo '$$vvv is:'.$$vvv;//$$vvv is:vvv
        echo '$$int_a is:'.$$int_a;//$$int_a is:int_a
        ?>


        另:在一開始接觸PHP的時(shí)候被他的所輸即可得(就是提交變量可以直接使用起name標(biāo)記的值來做為變量使用.),隨著時(shí)間的推移,網(wǎng)絡(luò)的發(fā)展
        PHP.net開發(fā)小組發(fā)現(xiàn)在這里竟然有不少人在做文章。例:

        <?php
        for($int_a;$int_a<100;$int_a++){
        echo "I am $int_a \r\n<br>";
        }
        ?>

        以上程序按邏輯來說,程序象系統(tǒng)申請一新變量$int_a由于未賦默認(rèn)值,系統(tǒng)將默認(rèn)給$int_a賦于0,此時(shí)應(yīng)該打印100行 i am ...
        但是如果有人傳遞過來這個(gè)變量呢???比如說http://url/count.php?int_a=99此時(shí)系統(tǒng)將只打印一行。我這里只是簡單的說一下
        如果這個(gè)程序是操作你的數(shù)據(jù)庫,或操作你的機(jī)密性文件,你所需要的是私有變量而非外界傳遞過來的變量...,我個(gè)人覺得PHP開發(fā)小組
        在這個(gè)問題上的處理是借鑒了編譯語言的優(yōu)點(diǎn)..

        不過不用擔(dān)心如果你覺得頁面不受外界變量的影響,而且暫時(shí)也無須提高到這個(gè)安全度的話您可以使用
        if($_GLOBAL_ARRAY){//判斷是否存在全局變量的數(shù)組
        extract($_GLOBAL_ARRAY,EXTR_PREFIX_SAME,"_global_array");//將數(shù)組內(nèi)變量導(dǎo)入到當(dāng)前的變量表內(nèi),如果發(fā)生沖突則將全局變量前加上_global_array前綴
        }
        由于PHP小組對系統(tǒng)的安全提高,因此分發(fā)出來的版本自php4.2.X后已經(jīng)默認(rèn)將register_global選項(xiàng)設(shè)置為OFF,如果您不需要使用的話可以將其打開ON

        總結(jié):

        PHP是個(gè)很優(yōu)秀的WEB CGI語言,PHP的免費(fèi)與很多數(shù)據(jù)庫的緊密結(jié)合,他能夠完成其他服務(wù)器腳本所完成的特定服務(wù),ASP所提供的中間件,在PHP
        中可以通過dl()進(jìn)或使用靜態(tài)擴(kuò)展將其加載進(jìn)PHP。而PHP的變量也會越來越完善...


        學(xué)有所限,如有不正還請指教。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 国产精品免费久久久久影院| 亚洲精品无码久久久久YW| 一个人看的www免费在线视频| 四虎永久免费地址在线网站| 亚洲老熟女五十路老熟女bbw | 亚洲人成网站免费播放| 国产精品成人免费福利| 亚洲国产视频一区| 国产精品成人免费一区二区 | 日韩内射激情视频在线播放免费| 亚洲精品国产精品乱码视色| a色毛片免费视频| 日韩精品亚洲人成在线观看| 51在线视频免费观看视频| 亚洲欧洲国产成人精品| 在线观看免费污视频| 国产精品亚洲综合天堂夜夜| 亚洲成aⅴ人片久青草影院| 久久久久女教师免费一区| 亚洲av成人无码久久精品| 91黑丝国产线观看免费| 亚洲精品无码人妻无码| 亚洲国产精品狼友中文久久久| 国产成人免费AV在线播放| 亚洲精品成人图区| 最新69国产成人精品免费视频动漫| 人人鲁免费播放视频人人香蕉| 亚洲乱码无码永久不卡在线| 久久九九兔免费精品6| 亚洲精品久久无码av片俺去也| 亚洲一区无码精品色| 麻豆高清免费国产一区| 亚洲av无码一区二区三区人妖 | 久久亚洲日韩精品一区二区三区| 毛片高清视频在线看免费观看| 理论秋霞在线看免费| 亚洲精品免费视频| 免费va人成视频网站全| 最近中文字幕完整版免费高清| 亚洲AV无码精品国产成人| 亚洲成AV人在线观看天堂无码|