PHP面試??家族e題之變量作用域解析

PHP面試中變量作用域是面試中常常出現(xiàn)的問題,也是必考的問題,下面就給大姐講解一下在面試中注意的點(diǎn):

# living example one

$A="Hello ";

functionprint_A()

{

$A = "phpmysql !!";

global $A;

//global 全局變量 函數(shù)是獨(dú)立的模塊 $A外界定義的

echo $A;

}

echo $A; //output Hello

print_A(); //out pot Hello

在你將$A定義為全局變量的時候,并未修改$A的值

考點(diǎn):

局部變量和全局變量的作用域,函數(shù)外部變量為全局變量(本頁面以及引入頁面),函數(shù)內(nèi)部變量為局部變量

易錯點(diǎn):

答題者區(qū)分不清局部變量和全局變量的概念,導(dǎo)致不能準(zhǔn)確寫出函數(shù)輸出結(jié)果

分析:

1)局部變量只能在函數(shù)內(nèi)部產(chǎn)生作用以及被使用,無論外部怎么修改都將失效,這樣也就保證了我們在同一個頁

面定義相同名稱的變量時候不會出現(xiàn)異常

2)全局適用于多個函數(shù)以及多個頁面都需要用到時可聲明,這樣也就能節(jié)省內(nèi)存空間,但是應(yīng)用時重復(fù)定義被覆

蓋導(dǎo)致異常的問題也要注意

# living example two

function test(){

$num = 10;

echo $num;

}

test(); //output 10

echo $num;

$num = $num+10;

echo $num;

分析:

以上代碼會導(dǎo)致一個變量未定義的waring,我們尚且忽略

1)$num是一個局部變量,那么你在函數(shù)內(nèi)部輸出,并且調(diào)用函數(shù)方法時候會輸出10,但是無論你在外面怎么操作

$num這個變量兩者都不是同一個變量,因此也不會產(chǎn)生實質(zhì)性的效果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,537評論 1 19
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,565評論 0 13
  • 個人學(xué)習(xí)批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,985評論 0 11
  • 上午歇班,在家看娃! 爺爺奶奶吃過早飯就去了教堂,囑咐我看好孩子,別讓他早睡,等著吃了午飯再睡。我前一點(diǎn)...
    明溪閱讀 152評論 0 1
  • 很多人說目前微信公眾號的紅利期已過,各大新媒體運(yùn)營人員也發(fā)覺無論是打開率、閱讀量還是漲粉速度這幾大指標(biāo)的提升難度都...
    today33閱讀 645評論 0 4

友情鏈接更多精彩內(nèi)容