国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

PHP函數(shù)用法詳解【初始化、嵌套、內(nèi)置函數(shù)等】

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

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

初始函數(shù)

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

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

函數(shù)定義:1)內(nèi)置函數(shù)(字符串操作函數(shù)、數(shù)組操作函數(shù))2)自定義函數(shù)

函數(shù)的基本語法格式

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

對于函數(shù)來說,參數(shù)的不同設(shè)置,決定了其調(diào)用和使用方式

無參函數(shù)

PHP函數(shù)用法詳解【初始化、嵌套、內(nèi)置函數(shù)等】

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

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

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

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

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

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

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

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

函數(shù)的嵌套調(diào)用: 指的是在調(diào)用一個函數(shù)的過程中,調(diào)用另外一個函數(shù),這種在函數(shù)內(nèi)調(diào)用其它函數(shù)的方式稱為嵌套調(diào)用。

遞歸調(diào)用

遞歸調(diào)用: 是函數(shù)嵌套調(diào)用中一種特殊的調(diào)用。它指的是一個函數(shù)在其函數(shù)體內(nèi)調(diào)用自身的過程,這種函數(shù)成為遞歸函數(shù)

函數(shù)的高級應(yīng)用1. 靜態(tài)變量

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

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

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

3.回調(diào)函數(shù)

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

4. 匿名函數(shù)

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

php的內(nèi)置函數(shù) 字符串函數(shù)

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

截取給定路徑中的字符串

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

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

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

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

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

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

時間日期函數(shù)

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

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

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

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

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

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

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

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

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

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 久久网站免费观看 | 天堂8中文在线最新版在线 天堂8资源8在线 | 在线视频免费观看a毛片 | 日日干夜夜爽 | 成人18免费网站 | 99久久久国产精品免费播放器 | 亚洲激情视频网 | 国内精品1区1区3区4区 | 午夜国产 | 中文字幕一区日韩在线视频 | 亚洲自拍在线观看 | 91精品日本久久久久久牛牛 | 国产成人v视频在线观看 | 亚洲精品国产精品国自产观看 | 亚洲综合一区二区精品久久 | 国产亚洲精品线观看77 | 亚洲 欧美 日韩在线 | 日本人一级毛片视频 | 一级毛片美国aaj毛片 | 亚洲精品视频在线看 | 久久精品视频免费看 | 波多野结衣在线播放视频 | 亚洲高清在线视频 | 免费观看三级毛片 | 久草视频手机在线观看 | 色一欲一性一乱一区二区三区 | 国产一区二区三区不卡免费观看 | 亚洲三级成人 | 高清精品女厕在线观看 | 99热r| 久久视频精品36线视频在线观看 | 欧美日韩精品国产一区二区 | 国产精品观看在线亚洲人成网 | 欧美日韩精品国产一区二区 | 亚洲欧美精品国产一区色综合 | 欧美精品aaa久久久影院 | 欧美在线精品一区二区三区 | 女人张开腿 让男人桶视频 女人张开腿等男人桶免费视频 | 免费黄色在线网址 | 亚洲最大福利视频 | 在线a毛片免费视频观看 |