久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

PHP函數(shù)原理理解詳談

瀏覽:100日期:2022-06-05 17:19:31
目錄
  • 函數(shù)初解
  • 參數(shù)詳解
  • 引用傳遞
  • 靜態(tài)變量

函數(shù)初解

function,是一種語法結(jié)構(gòu),將實(shí)現(xiàn)某一個(gè)功能的代碼塊(多行代碼)封裝到一個(gè)結(jié)構(gòu)中實(shí)現(xiàn)代碼的重復(fù)利用

函數(shù)定義語法:

關(guān)鍵點(diǎn):function關(guān)鍵字,函數(shù)名,參數(shù)(形參和實(shí)參),函數(shù)體和返回值

基本語法:

function 函數(shù)名(參數(shù)){
//函數(shù)體
//返回值:return結(jié)果
}

定義函數(shù)的目的:實(shí)現(xiàn)代碼的重復(fù)利用(簡(jiǎn)單明了)

函數(shù)的使用:通過訪問函數(shù)的名字+();//如果函數(shù)在定義的過程中有參數(shù),那么在調(diào)用的時(shí)候必須傳入對(duì)應(yīng)的參數(shù)

實(shí)例:

<?phpfunction display(){//定義    echo"hello world";}display();//調(diào)用?>

函數(shù)是在代碼執(zhí)行階段碰到函數(shù)名字的時(shí)候才會(huì)調(diào)用,不是在編譯階段

函數(shù)的調(diào)用特點(diǎn):只要系統(tǒng)在內(nèi)存中能夠找到就可以執(zhí)行,也就是函數(shù)的調(diào)用可以在函數(shù)的定義之前

<?phpdisplay();//調(diào)用function display(){//定義  echo"hello world";}?>

也就是這樣

注意:函數(shù)也不可同名

參數(shù)詳解

函數(shù)的參數(shù)分為兩種:形參和實(shí)參

形參是實(shí)參的載體:實(shí)參在調(diào)用時(shí)需要傳入函數(shù)內(nèi)部參與計(jì)算,那么需要在函數(shù)內(nèi)部去找到實(shí)際數(shù)據(jù)所在的位置才能找到數(shù)據(jù)本身;需要實(shí)際調(diào)用的時(shí)候,將數(shù)據(jù)以實(shí)參的形式傳遞給形參;給形參賦值,從而使得函數(shù)內(nèi)部可以用到外部數(shù)據(jù)

<?phpfunction add($arg1,$arg2){//芝士形參,使用逗號(hào)分隔開    echo $arg1+$arg2;}echo "<hr/>";$arg1=10;$arg2=20;add($arg1,$arg2);//芝士傳入的實(shí)參,可以是變量或者其他有值的表達(dá)式?>

也就是調(diào)用時(shí)傳給函數(shù)的值是實(shí)參,函數(shù)會(huì)把實(shí)參賦值給形參,然后形參在函數(shù)中運(yùn)行

函數(shù)外部定義的變量名字與函數(shù)定義的=形參名字沖突(重名)是沒有任何關(guān)系的,也就是同名形參在不同函數(shù)可以重復(fù)使用

引用傳遞

有的時(shí)候,希望在函數(shù)內(nèi)部拿到的外部數(shù)據(jù),能夠在函數(shù)內(nèi)部改變,那么就需要明確告知函數(shù)(定義時(shí)),函數(shù)才會(huì)在調(diào)用的時(shí)候去主動(dòng)獲取外部數(shù)據(jù)的內(nèi)存地址。

基本定義語法:
Function 函數(shù)名(形參1,$形參2){
//函數(shù)體
}

在調(diào)用的時(shí)候,必須給引用傳值的參數(shù)位置傳入實(shí)際參數(shù)蘇,而且參數(shù)本身必須是變量。(變量才有指向的數(shù)值的內(nèi)存地址)

<?phpfunction display($a,&$b){    $a=$a*$a;    $b=$b*$b;    echo $a,"<br>",$b,"<br/>";}$a=10;$b=5;display($a,$b);echo"<hr/>",$a,"<br/>",$b;?>

由于$,所以函數(shù)在定義的時(shí)候,對(duì)應(yīng)的b形參采用的是取地址,所以在實(shí)參傳入之后,系統(tǒng)b取到了外部變量b的內(nèi)存地址,a只去到了值,所以a只改變了函數(shù)內(nèi)部自己,而b改變自己的同時(shí)也改變了外部

引用傳值注意事項(xiàng):在傳入實(shí)參的時(shí)候,必須傳入變量

函數(shù)體:函數(shù)內(nèi)部(大括號(hào){}里面)的所有代碼都稱之為函數(shù)體 函數(shù)返回值:

返回值:return,指的是將函數(shù)實(shí)現(xiàn)的結(jié)果,通過return關(guān)鍵字返回給函數(shù)外部(函數(shù)調(diào)用處);在php中所有的函數(shù)都有返回值(如果沒有明確return使用,則系統(tǒng)默認(rèn)返回null)

注意:函數(shù)的返回值可以是任意數(shù)據(jù)類型

return會(huì)直接結(jié)束函數(shù),在return后的無法執(zhí)行(函數(shù)內(nèi))

return還可以在文件中直接使用(不在函數(shù)里面);代表文件將結(jié)果return

后面跟的內(nèi)容,轉(zhuǎn)交給包含當(dāng)前文件的位置.(通產(chǎn)在系統(tǒng)配置文件中使用較多)

在文件中也代表著終止文件后面的代碼

靜態(tài)變量

關(guān)鍵字:static,是在函數(shù)內(nèi)部定義的變量,使用static關(guān)鍵字修飾,用來實(shí)現(xiàn)跨函數(shù)共享數(shù)據(jù)的變量,函數(shù)運(yùn)行結(jié)束所有局部變量都會(huì)清空,如果重新運(yùn)行一下函數(shù),所有的局部變量又會(huì)重新初始化

基本語法:

function 函數(shù)名(){
//定義變量
static $變量名=值 //通常會(huì)在定義的時(shí)候就直接賦值
}

<?phpfunction display(){    $local =1;    static $count =1;    echo $local++,$count++,"<br/>";}display();//11display();//12display();//13?>

函數(shù)在調(diào)用的時(shí)候,會(huì)自動(dòng)跳過static關(guān)鍵字這一行,也就是靜態(tài)變量在使用后不會(huì)被釋放

到此這篇關(guān)于PHP函數(shù)原理理解詳談的文章就介紹到這了,更多相關(guān)PHP函數(shù)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 麻豆精品久久久 | 国产欧美一区二区精品性色 | 羞羞的视频网站 | 精品成人免费一区二区在线播放 | 2018天天操夜夜操 | 少妇精品视频在线观看 | 中文字幕日韩欧美一区二区三区 | 欧美在线视频网站 | 日韩久久一区二区 | 日本久久久久 | 免费一区二区三区 | 国产精品爱久久久久久久 | 中文字幕日韩专区 | 久久亚洲精品综合 | 伊人免费在线观看高清版 | 久久久久久久久一区二区三区 | 99精品国产高清一区二区麻豆 | 99re国产| 国内福利视频 | 一区二区三区四区在线播放 | 久久一二区| 精品日韩欧美一区二区三区 | 久久久精品一区二区三区 | 日韩欧美国产一区二区 | 亚洲综合欧美日韩 | 一本一道久久a久久精品综合 | 久久免费精品视频 | 亚洲久草 | 五月婷婷激情 | 粉嫩视频在线观看 | 久久99精品久久久久久琪琪 | 国产视频黄在线观看 | 日韩毛片 | 51ⅴ精品国产91久久久久久 | 久久久久亚洲一区二区三区 | 国产精品一区二区三区免费 | 日本小视频网站 | 国产精品污www一区二区三区 | 日韩91| 免费的av网站 | 日韩毛片免费看 |