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

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

PHP函數用法詳解【初始化、嵌套、內置函數等】

瀏覽:119日期:2022-09-10 09:13:47

本文實例講述了PHP函數用法。分享給大家供大家參考,具體如下:

初始函數

函數:封裝一段用于完成特定功能的代碼。

通俗理解函數:可以完成魔鬼工作的代碼塊,就像積木一樣,可以反復使用,在使用的時候,拿來即用。

函數定義:1)內置函數(字符串操作函數、數組操作函數)2)自定義函數

函數的基本語法格式

function 函數名([參數1.參數2,......]){函數體......} 函數的定義由一下四部分組成: 關鍵字function function: 在聲明函數時必須使用的關鍵字; 函數名functionName 函數名: 要符合PHP的標識符,且函數名是唯一的,不區分大小寫 參數 [參數1,參數2…]: 在外界傳遞給函數的值,他是可選的,多個參數之間使用逗號“,”分隔。 函數體 函數體: 函數定義的主體,專門用于實現特定的代碼段。 返回值: 需要使用return關鍵字將需要返回的數據傳遞給調用者。 參數設置

對于函數來說,參數的不同設置,決定了其調用和使用方式

無參函數

PHP函數用法詳解【初始化、嵌套、內置函數等】

按值傳遞參數 PHP函數用法詳解【初始化、嵌套、內置函數等】 PHP默認支持按值傳遞參數,按此種方式定義的函數,在函數內部可以睡衣對用戶傳遞的參數進行操作。

引用傳參 PHP函數用法詳解【初始化、嵌套、內置函數等】 在開發中,若需要函數修改它的參數值,則需要通過函數的引用傳遞。實現方式只需要在參數中前添加“&”符號即可。

設置參數默認值 PHP函數用法詳解【初始化、嵌套、內置函數等】 函數參數在設置時,還可以為其指定默認值,也就是可選參數。當調用者未傳遞該參數時,函數將使用默認值進行操作。 當使用默認參數時,默認參數必須放在非默認參數的右側,否則函數可能出錯。 指定參數類型(弱) PHP函數用法詳解【初始化、嵌套、內置函數等】 在PHP 7.0及以上的版本后,在自定義函數時,可以指定參數具體時那種數據類型 當用戶調用函數時,如果傳遞參數不是int類型。程序傳遞的參數不是int類型,程序會將其強制的轉換為int型后,在進行操作,這種方式稱為弱類型參數設置。 指定參數類型(強) PHP函數用法詳解【初始化、嵌套、內置函數等】 除此之外,還可以將其設置為強類型的參數,即當用戶傳遞的類型不符合函數的定義,程序會報錯提醒。變量的作用域

變量在定義后,默認情況下,可以在函數中使用,函數外不可以。

變量只有在其作用范圍內才可以被使用,這個作用范圍稱為變量的作用域。 在函數中定義的變量稱為局部變量 在函數外定義的變量稱為全局變量

function test (){$sum = 36; //局部變量return $sum;}$sum = 0;//全局變量echo text();//輸出結果:36echo $sum;//輸出結構:0

那么如何在函數中使用全局變量呢?答:參數傳遞,global關鍵字和超全局變量$GLOBALS。

$snap = ’nihao’;function abc(){ global $snap;//全局變量的關鍵詞,通常加在變量前。引用全局變量 return $GLOBALS[’snap’];//引用外部變量。定義全局變量}echo abc();函數的嵌套調用嵌套調用

函數的嵌套調用: 指的是在調用一個函數的過程中,調用另外一個函數,這種在函數內調用其它函數的方式稱為嵌套調用。

遞歸調用

遞歸調用: 是函數嵌套調用中一種特殊的調用。它指的是一個函數在其函數體內調用自身的過程,這種函數成為遞歸函數

函數的高級應用1. 靜態變量

輕松得到函數被訪問的次數,一是在函數中使用全局變量記錄,缺點是全局變量可隨時子啊函數外被改變,不能準確的記錄;二是在函數中使用靜態變量。PHP函數用法詳解【初始化、嵌套、內置函數等】

變量的作用域 局部變量: 在函數的內部定義的變量,其作用域是所在函數 全局變量: 被定義在所有函數以外的變量,其作用域是整個PHP文件,但在用戶自定義函數內部是不可用的。如果希望在用戶自定義函數內部使用全局變量。則要使用global關鍵字聲明 靜態變量: 能夠在函數調用結束后仍保留變量值,當再次回到其作用域時,又可以繼續使用原來的值,而一般變量在函數調用結束后,其存儲的數據值將被清除,所占的內存空間被釋放。使用靜態變量時,先要用static來聲明變量,把關鍵字static放在要定義的變量之前。2.可變函數

可變函數: 可變變量,他的實現是在一個變量前添加一個“¥符號”,就變成了另外一個變量。同理,可變函數的實現就是在一個變量名后添加一對圓括號“()”,讓其變成一個函數的形式,然后PHP就尋找與變量值同名的函數,并且嘗試執行它

3.回調函數

回調函數: 指的就是具有callable類型的函數,一般用作參數的傳遞。如PHP內置函數call_user_func()可以接受用戶自定義的回調函數作為參數。

4. 匿名函數

匿名函數: 就是沒有函數名稱的函數,也稱作閉包函數,經常用作回調函數參數的值。對于臨時定義的函數,使用匿名函數無需考慮函數命名沖突的問題

php的內置函數 字符串函數

字符串函數是PHP用來操作字符串的內置函數,在實際開發中有著非常重要的作用PHP函數用法詳解【初始化、嵌套、內置函數等】

截取給定路徑中的字符串

$url = ’C:webapache2.4htdocscat.jpg’;$pos = strrpos($url, ’’);// 截取文件名稱,輸出結果:cat.jpgecho substr($url, $pos + 1);// 截取文件所在的路徑,輸出結果:C:webapache2.4htdocsecho substr($url, 0, $pos);strrpos()函數用于在$url中獲取“”最后一次出現的位置$pos。substr()函數的第1個參數表示待截取的字符串,第2個參數表示開始截取的位置,非負數表示從字符串指定位置處截取,從0開始;負數表示從字符串尾部開始。第3個參數表示截取的長度。substr()函數的第3個參數表示截取的長度,該長度的設置具體有以下4種情況。省略第3個參數時,將返回從指定位置到字符串結尾的子字符串。第3個參數為正數,返回的字符串將從指定位置開始,最多包含指定長度的字符,這取決于待截取字符串的長度。第3個參數為負數,返回的字符串中在結尾處將有個指定長度的字符被省略。第3個參數為0、false或null,將返回一個空字符串。 替換指定位數的字符 替換指定位數的字符,在開發也是很常見的功能。例如,在各種抽獎環節中,為了保證用戶的隱私,出現的手機號一般使用“*”將第4至7位的數字進行覆蓋

$tel = ’18810881888’; // 隨意輸入一串數字作為手機號$len = 4; // 需要覆蓋的手機號長度$replace = str_repeat(’*’, $len); // 根據指定長度設置覆蓋的字符串echo substr_replace($tel, $replace, 3, $len);// 輸出結果: 188****1888

str_repeat()函數用于對“*”字符重復len次。substrreplace()函数用于对字符串 len次。substr_replace()函数用于对字符串' role='presentation' style='position: relative;'>len次。substrreplace()函數用于對字符串len次。substrreplace()函數用于對字符串len次。substr_replace()函數用于對字符串len次。substrr​eplace()函數用于對字符串tel中第3個位置開始后的len长度的字符使用 len长度的字符使用' role='presentation' style='position: relative;'>len長度的字符使用len長度的字符使用len長度的字符使用len長度的字符使用replace進行替換。

數字函數 為了方便開發人員處理程序中的數學運算,PHP內置了一系列的數學函數,用于獲取最大值、最小值、生成隨機數等常見的數學運算。 PHP函數用法詳解【初始化、嵌套、內置函數等】

echo ceil(5.2);// 輸出結果:6echo floor(7.8);// 輸出結果:7 echo rand(1, 20);// 隨機輸出1到20間的整數

ceil()函數是對浮點數5.2進行向上取整,floor()函數是對浮點數進行向下取整,rand()函數的參數表示隨機數的范圍,第1個參數表示最小值,第2參數表示最大值。

時間日期函數

在使用PHP開發Web應用程序時,經常會涉及日期和時間管理。 例如倒計時、用戶登錄時間、新聞發布時間、購買商品時下訂單的時間等。 為此,PHP提供了內置的日期和時間處理函數,滿足開發中的各種需求。 PHP函數用法詳解【初始化、嵌套、內置函數等】 Unix時間戳是一種時間的表示方式,它是為了解決編程環境中時間運算的問題。

Unix時間戳(Unix timestamp): 定義了從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數,以32位二進制數表示。

echo time();// 輸出結果:1487666317echo mktime(0, 0, 0, 2, 21, 2017);// 輸出結果:1487606400echo strtotime(’2017-2-21’);// 輸出結果:1487606400echo microtime();// 輸出結果:0.04142600 1487666098echo microtime(true);// 輸出結果:1487666098.0414

time()函數用于獲取當前時間的Unix時間戳,mktime()和strtotime()函數可將給定的日期時間轉換成Unix時間戳,前者的參數分別表示“時分秒月日年”,后者可以是任意時間的字符串。函數microtime()用于獲取當前Unix時間戳和微秒數,不設置參數時,返回值的形式前面一段數字表示微妙數,后面一段數字表示秒數;設置參數時,小數點前表示秒數,小數點后表示微秒數。

格式化時間戳: 對于用戶來說,時間戳的直接輸出,會讓其看到一個毫無意義的整型數值。為了將時間戳表示的時間以友好的形式顯示出來,可以對時間戳進行格式化。

echo date(’Y-m-d H:i:s’);// 輸出結果:2017-02-21 16:48:16echo date(’Y-m-d’, 1487666317);// 輸出結果:2017-02-21

date()函數第1個參數表示格式化日期時間的樣式date()函數第2個參數表示待格式化的時間戳,省略時表示格式化當前時間戳。PHP函數用法詳解【初始化、嵌套、內置函數等】PHP函數用法詳解【初始化、嵌套、內置函數等】

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php常用函數與技巧總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

標簽: PHP
相關文章:
主站蜘蛛池模板: 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 安规电容|薄膜电容|陶瓷电容|智旭JEC安规电容厂家 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 山东艾德实业有限公司| 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 企小优-企业数字化转型服务商_网络推广_网络推广公司 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 新车测评网_网罗汽车评测资讯_汽车评测门户报道 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家 | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 泰州物流公司_泰州货运公司_泰州物流专线-东鑫物流公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 齿辊分级破碎机,高低压压球机,立式双动力磨粉机-郑州长城冶金设备有限公司 | 玻璃钢板-玻璃钢防腐瓦-玻璃钢材料-广东壹诺 | 庭院灯_太阳能景观灯_草坪灯厂家_仿古壁灯-重庆恒投科技 |