电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP函數原理理解詳談

瀏覽:135日期:2022-06-05 17:19:31
目錄
  • 函數初解
  • 參數詳解
  • 引用傳遞
  • 靜態變量

函數初解

function,是一種語法結構,將實現某一個功能的代碼塊(多行代碼)封裝到一個結構中實現代碼的重復利用

函數定義語法:

關鍵點:function關鍵字,函數名,參數(形參和實參),函數體和返回值

基本語法:

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

定義函數的目的:實現代碼的重復利用(簡單明了)

函數的使用:通過訪問函數的名字+();//如果函數在定義的過程中有參數,那么在調用的時候必須傳入對應的參數

實例:

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

函數是在代碼執行階段碰到函數名字的時候才會調用,不是在編譯階段

函數的調用特點:只要系統在內存中能夠找到就可以執行,也就是函數的調用可以在函數的定義之前

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

也就是這樣

注意:函數也不可同名

參數詳解

函數的參數分為兩種:形參和實參

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

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

也就是調用時傳給函數的值是實參,函數會把實參賦值給形參,然后形參在函數中運行

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

引用傳遞

有的時候,希望在函數內部拿到的外部數據,能夠在函數內部改變,那么就需要明確告知函數(定義時),函數才會在調用的時候去主動獲取外部數據的內存地址。

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

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

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

由于$,所以函數在定義的時候,對應的b形參采用的是取地址,所以在實參傳入之后,系統b取到了外部變量b的內存地址,a只去到了值,所以a只改變了函數內部自己,而b改變自己的同時也改變了外部

引用傳值注意事項:在傳入實參的時候,必須傳入變量

函數體:函數內部(大括號{}里面)的所有代碼都稱之為函數體 函數返回值:

返回值:return,指的是將函數實現的結果,通過return關鍵字返回給函數外部(函數調用處);在php中所有的函數都有返回值(如果沒有明確return使用,則系統默認返回null)

注意:函數的返回值可以是任意數據類型

return會直接結束函數,在return后的無法執行(函數內)

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

后面跟的內容,轉交給包含當前文件的位置.(通產在系統配置文件中使用較多)

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

靜態變量

關鍵字:static,是在函數內部定義的變量,使用static關鍵字修飾,用來實現跨函數共享數據的變量,函數運行結束所有局部變量都會清空,如果重新運行一下函數,所有的局部變量又會重新初始化

基本語法:

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

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

函數在調用的時候,會自動跳過static關鍵字這一行,也就是靜態變量在使用后不會被釋放

到此這篇關于PHP函數原理理解詳談的文章就介紹到這了,更多相關PHP函數內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
相關文章:
主站蜘蛛池模板: 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 空气净化器租赁,空气净化器出租,全国直租_奥司汀净化器租赁 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 截齿|煤截齿|采煤机截齿|掘进机截齿|旋挖截齿-山东卓力截齿厂家报价 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 德国进口电锅炉_商用电热水器_壁挂炉_电采暖器_电热锅炉[德国宝] | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 新能源汽车电机定转子合装机 - 电机维修设备 - 睿望达 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | 深圳市索富通实业有限公司-可燃气体报警器 | 可燃气体探测器 | 气体检测仪 | 博医通医疗器械互联网供应链服务平台_博医通 | 杰恒蠕动泵-蠕动泵专业厂家-19年专注蠕动泵 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 |