版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 PHP第3章 函數(shù)自定義函數(shù)匿名函數(shù)回調(diào)函數(shù)內(nèi)置函數(shù) 學(xué)習(xí)目標(biāo)掌握熟悉掌握熟悉掌握函數(shù)的定義及調(diào)用12掌握變量在函數(shù)中的使用熟悉回調(diào)函數(shù)和匿名函數(shù)的應(yīng)用34熟悉PHP內(nèi)置函數(shù)的使用 目錄點(diǎn)擊查看本小節(jié)知識架構(gòu)點(diǎn)擊查看本小節(jié)知識架構(gòu)函數(shù)的嵌套調(diào)用3.23.23.13.1函數(shù)的定義和調(diào)用函數(shù)的高級應(yīng)用3.33.3PHP的內(nèi)置函數(shù)3.43.4點(diǎn)擊查看本小節(jié)知識架構(gòu)點(diǎn)擊查看本小節(jié)知識架構(gòu) 目錄3.53.5PHP手冊的使用 知識架構(gòu)3.1 函數(shù)的定義與調(diào)用函數(shù)的定義與調(diào)用1初識函數(shù)2參數(shù)設(shè)置3變量的作用域 知識架構(gòu)3.2 函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用1嵌套調(diào)用2遞歸調(diào)用 知識架構(gòu)3.3 函數(shù)的高級應(yīng)用
2、函數(shù)的高級應(yīng)用1靜態(tài)變量2可變函數(shù)3回調(diào)函數(shù)4匿名函數(shù) 知識架構(gòu)3.4 PHP的內(nèi)置函數(shù)的內(nèi)置函數(shù)1字符串函數(shù)2數(shù)學(xué)函數(shù)3時(shí)間日期函數(shù) 3.1 函數(shù)的定義與調(diào)用1.初識函數(shù)函數(shù)函數(shù):封裝一段用于完成特定功能的代碼當(dāng)使用一個(gè)函數(shù)時(shí),只需關(guān)心函數(shù)的參數(shù)和返回值,就可以完成一個(gè)特定的功能 3.1 函數(shù)的定義與調(diào)用1.初識函數(shù)$str = ABcd;$upper = strtoupper($str);/ 調(diào)用strtoupper()函數(shù)將$str轉(zhuǎn)換成大寫$lower = strtolower($str);/ 調(diào)用strtolower()函數(shù)將$str轉(zhuǎn)換成小寫echo $upper;/ 輸出結(jié)果:A
3、BCDecho $lower;/ 輸出結(jié)果:abcd 觀察“內(nèi)置函數(shù)”的使用 / 生成4行8列的表格,并輸出echo general_table(4, 8);/ 生成5行10列的表格,并輸出echo general_table(5, 10);3.1 函數(shù)的定義與調(diào)用1.初識函數(shù)?phpfunction general_table($row, $col) $html = ; for ($i = 1; $i = $row; +$i) $html .= ; for ($j = 1; $j = $col; +$j) $html .= ; $html .= ; return $html.; 觀察“自定義
4、函數(shù)”的使用 3.1 函數(shù)的定義與調(diào)用1.初識函數(shù)function 函數(shù)名(參數(shù)1, 參數(shù)2, ) 函數(shù)體函數(shù)的定義由以下4部分組成: 關(guān)鍵字function 函數(shù)名 參數(shù) 函數(shù)體 3.1 函數(shù)的定義與調(diào)用1.初識函數(shù) function:在聲明函數(shù)時(shí)必須使用的關(guān)鍵字 函數(shù)名函數(shù)名:要符合PHP的標(biāo)識符,且函數(shù)名是唯一的,不區(qū)分大小寫 參數(shù)參數(shù)1, 參數(shù)參數(shù)2:外界傳遞給函數(shù)的值,它是可選的,多個(gè)參數(shù)之間使用逗號“,”分隔。 函數(shù)體函數(shù)體:函數(shù)定義的主體,專門用于實(shí)現(xiàn)特定功能的代碼段。 返回值返回值:需要使用return關(guān)鍵字將需要返回的數(shù)據(jù)傳遞給調(diào)用者。 3.1 函數(shù)的定義與調(diào)用2.參數(shù)設(shè)置對
5、于函數(shù)來說,參數(shù)的不同設(shè)置,決定了其調(diào)用和使用方式。function shout() return come on;echo shout();/ 輸出結(jié)果:come on適用于不需要提供任何的數(shù)據(jù)即可以完成指定功能的情況。適用于不需要提供任何的數(shù)據(jù)即可以完成指定功能的情況。 無參函數(shù) 3.1 函數(shù)的定義與調(diào)用2.參數(shù)設(shè)置PHP默認(rèn)支持按值傳遞參數(shù),按此種方式定義的函數(shù),在函數(shù)內(nèi)部可以隨意對用戶傳遞的參數(shù)進(jìn)行操作。function add($a, $b) $a = $a + $b; return $a;/ 方式一echo add(5, 7);/ 方式二$x = 5;$y = 7;echo add
6、($x, $y); 按值傳遞參數(shù) 3.1 函數(shù)的定義與調(diào)用2.參數(shù)設(shè)置在開發(fā)中,若需要函數(shù)修改它的參數(shù)值,則需通過函數(shù)參數(shù)的引用傳遞。實(shí)現(xiàn)方式只需在參數(shù)前添加“&”符號即可。function extra(&$str) $str .= and some extra;$var = food;extra($var);/ 輸出結(jié)果:food and some extraecho $var; 引用傳參 3.1 函數(shù)的定義與調(diào)用2.參數(shù)設(shè)置函數(shù)參數(shù)在設(shè)置時(shí),還可以為其指定默認(rèn)值,也就是可選參數(shù)。當(dāng)調(diào)用者未傳遞該參數(shù)時(shí),函數(shù)將使用默認(rèn)值進(jìn)行操作。/ 輸出結(jié)果:Tom say Helloech
7、o say(Tom);function say($p, $con = say Hello) return $p $con; 設(shè)置參數(shù)默認(rèn)值 3.1 函數(shù)的定義與調(diào)用2.參數(shù)設(shè)置注意注意在為函數(shù)參數(shù)設(shè)置默認(rèn)值時(shí),默認(rèn)(可選)參數(shù)必須放在非默認(rèn)(必選)參數(shù)的右側(cè),且默認(rèn)值必須是常量表達(dá)式,如“123”、“PHP”等。否則,函數(shù)將不會(huì)按照預(yù)期的情況工作。 3.1 函數(shù)的定義與調(diào)用2.參數(shù)設(shè)置在PHP 7.0及以上的版本后,在自定義函數(shù)時(shí),可以指定參數(shù)具體是哪種數(shù)據(jù)類型。function sum1(int $a, int $b) return $a + $b;echo sum1(2.6, 3.8);
8、/ 輸出結(jié)果:5 指定參數(shù)類型(弱)當(dāng)用戶調(diào)用函數(shù)時(shí),如果傳遞的參數(shù)不是int類型,程序會(huì)將其強(qiáng)制的轉(zhuǎn)換為int型后,再進(jìn)行操作,這種方式稱為弱類型參數(shù)設(shè)置。 3.1 函數(shù)的定義與調(diào)用2.參數(shù)設(shè)置除此之外,還可以將其設(shè)置為強(qiáng)類型的參數(shù),即當(dāng)用戶傳遞的參數(shù)類型不符合函數(shù)的定義,程序會(huì)報(bào)錯(cuò)提醒。declare(strict_types = 1);function sum2(int $a, int $b) return $a + $b;echo sum2(2.6, 3.8); / 輸出結(jié)果:Fatal error: . 指定參數(shù)類型(強(qiáng)) 3.1 函數(shù)的定義與調(diào)用多多學(xué)學(xué)一一招招設(shè)置函數(shù)返回值類型在
9、PHP7中不僅可以設(shè)置函數(shù)參數(shù)的類型,還可以指定函數(shù)返回值的數(shù)據(jù)類型。其中可以作為返回值類型的分別是int、float、string、bool、interfaces、array和callable類型。 3.1 函數(shù)的定義與調(diào)用多多學(xué)學(xué)一一招招設(shè)置函數(shù)返回值類型declare(strict_types = 1);function returnIntValue(int $value): int return $value + 1.0;echo returnIntValue(5);在定義函數(shù)時(shí),指定函數(shù)返回值類型可以減少程序?qū)φ{(diào)用函數(shù)返回值類型的在定義函數(shù)時(shí),指定函數(shù)返回值類型可以減少程序?qū)φ{(diào)用函數(shù)
10、返回值類型的判斷,使得函數(shù)的設(shè)置更加嚴(yán)謹(jǐn)。判斷,使得函數(shù)的設(shè)置更加嚴(yán)謹(jǐn)。 3.1 函數(shù)的定義與調(diào)用3.變量的作用域思考思考:變量在定義后就可以在函數(shù)中使用嘛?答案答案:默認(rèn)情況下,函數(shù)中可以,函數(shù)外不可以。解析解析:變量只有在其作用范圍內(nèi)才可以被使用,這個(gè)作用范圍稱為變量的作用域。 在函數(shù)中定義的變量稱為局部變量 在函數(shù)外定義的變量稱為全局變量 3.1 函數(shù)的定義與調(diào)用3.變量的作用域function test() $sum = 36; / 局部變量 return $sum;$sum = 0; / 全局變量echo test(); / 輸出結(jié)果:36echo $sum; / 輸出結(jié)果:0示例
11、3.1 函數(shù)的定義與調(diào)用3.變量的作用域注意注意需要注意的是,默認(rèn)情況下在函數(shù)中不能使用全局變量,同時(shí)局部變量的改變也不會(huì)對全局變量有任何影響,如示例中的$sum。 3.1 函數(shù)的定義與調(diào)用3.變量的作用域思考思考:那么如何在函數(shù)中使用全局變量呢?答案答案:參數(shù)傳遞,global關(guān)鍵字和超全局變量$GLOBALS。如案例3-1所示。 3.2 函數(shù)的嵌套調(diào)用1.嵌套調(diào)用函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用:指的是在調(diào)用一個(gè)函數(shù)的過程中,調(diào)用另外一個(gè)函數(shù),這種在函數(shù)內(nèi)調(diào)用其他函數(shù)的方式稱為嵌套調(diào)用。 3.2 函數(shù)的嵌套調(diào)用1.嵌套調(diào)用舉例舉例:班主任老師要計(jì)算每個(gè)學(xué)生語文和數(shù)學(xué)平均分,其實(shí)現(xiàn)思路是首先編寫
12、一個(gè)函數(shù)用于計(jì)算學(xué)生的語文和數(shù)學(xué)的總分,然后再編寫一個(gè)函數(shù)用于實(shí)現(xiàn)學(xué)生的平均分。如案例3-2所示。 3.2 函數(shù)的嵌套調(diào)用2.遞歸調(diào)用遞歸調(diào)用遞歸調(diào)用:是函數(shù)嵌套調(diào)用中一種特殊的調(diào)用。它指的是一個(gè)函數(shù)在其函數(shù)體內(nèi)調(diào)用自身的過程,這種函數(shù)成為遞歸函數(shù)。舉例舉例:求n的階乘,計(jì)算公式為123n。如4的階乘等于1234=24。如案例3-3所示。 3.3 函數(shù)的高級應(yīng)用1.靜態(tài)變量思考思考:如何輕松得到一個(gè)函數(shù)被訪問的次數(shù)?答案答案:一是在函數(shù)中使用全局變量記錄,缺點(diǎn)是全局變量可隨時(shí)在函數(shù)外被改變,不能準(zhǔn)確的記錄;二是在函數(shù)中使用靜態(tài)變量。 3.3 函數(shù)的高級應(yīng)用1.靜態(tài)變量function num(
13、) static $i = 1; echo $i; +$i;function num() $i = 1; echo $i; +$i;第1次調(diào)用函數(shù)num()輸出1第2次調(diào)用函數(shù)num()會(huì)輸出2依次類推第1次調(diào)用函數(shù)num()輸出1第2次調(diào)用函數(shù)num()會(huì)輸出1依次類推局部變量靜態(tài)變量 3.3 函數(shù)的高級應(yīng)用2.可變函數(shù)可變函數(shù)可變函數(shù):可變變量,它的實(shí)現(xiàn)是在一個(gè)變量前添加一個(gè)“$”符號,就變成了另外一個(gè)變量。同理,可變函數(shù)的實(shí)現(xiàn)就是在一個(gè)變量名后添加一對圓括號“()”,讓其變成一個(gè)函數(shù)的形式,然后PHP就尋找與變量值同名的函數(shù),并且嘗試執(zhí)行它。如案例3-4所示。 3.3 函數(shù)的高級應(yīng)用2.
14、可變函數(shù)值得一提值得一提變量的值可以是用戶自定義的函數(shù)名稱,也可以是PHP內(nèi)置的函數(shù)名稱,但是變量的值必須是實(shí)際存在的函數(shù)的名稱,如上述案例中的“shout”。 3.3 函數(shù)的高級應(yīng)用2.可變函數(shù)注意注意實(shí)際編程中,使用可變函數(shù)可以增加程序的靈活性,但是濫用可變函數(shù)會(huì)降低PHP代碼的可讀性,使程序邏輯難以理解,給代碼的維護(hù)帶來不便,所以在編程過程中要盡量少用可變函數(shù)。 3.3 函數(shù)的高級應(yīng)用3.回調(diào)函數(shù)回調(diào)函數(shù)(回調(diào)函數(shù)(callback):指的就是具有callable類型的函數(shù),一般用作參數(shù)的傳遞。如PHP內(nèi)置函數(shù)call_user_func()可以接受用戶自定義的回調(diào)函數(shù)作為參數(shù)。如案例3
15、-5所示。 3.3 函數(shù)的高級應(yīng)用4.匿名函數(shù)匿名函數(shù)匿名函數(shù):就是沒有函數(shù)名稱的函數(shù),也稱作閉包函數(shù),經(jīng)常用作回調(diào)函數(shù)參數(shù)的值。對于臨時(shí)定義的函數(shù),使用匿名函數(shù)無需考慮函數(shù)命名沖突的問題。$sum = function($a, $b) / 定義匿名函數(shù) return $a + $b;echo $sum(100, 200);/ 輸出結(jié)果:300 3.3 函數(shù)的高級應(yīng)用4.匿名函數(shù)注意注意匿名函數(shù)調(diào)用的方式看似與可變函數(shù)的使用類似,但實(shí)際上不是。若通過var_dump()對匿名函數(shù)的變量進(jìn)行打印輸出,可以看到其數(shù)據(jù)類型為對象類型。關(guān)于對象的內(nèi)容將會(huì)在后面的章節(jié)講解,此處了解即可。 3.3 函數(shù)的
16、高級應(yīng)用4.匿名函數(shù)匿名函數(shù)中使用外部的變量匿名函數(shù)中使用外部的變量,需要通過use關(guān)鍵字實(shí)現(xiàn)。use關(guān)鍵字后圓括號“()”中的內(nèi)容即為要使用的外部變量列表,多個(gè)變量之間使用英文逗號“,”分隔即可。$c = 100;$sum = function($a, $b) use($c) return $a + $b + $c;echo $sum(100, 200); / 輸出結(jié)果:400 3.3 函數(shù)的高級應(yīng)用4.匿名函數(shù)除此之外,匿名函數(shù)還可以作為函數(shù)的參數(shù)傳遞,實(shí)現(xiàn)回調(diào)函數(shù)。function calculate($a, $b, $func) return $func($a, $b);echo ca
17、lculate(100, 200, function($a, $b) / 輸出結(jié)果:300 return $a + $b;);echo calculate(100, 200, function($a, $b) / 輸出結(jié)果:20000 return $a * $b;); 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)字符串函數(shù)是PHP用來操作字符串的內(nèi)置函數(shù),在實(shí)際開發(fā)中有著非常重要的作用函數(shù)名稱函數(shù)名稱功能描述功能描述strlen()獲取字符串的長度strpos()查找字符串首次出現(xiàn)的位置strrpos()獲取指定字符串在目標(biāo)字符串中最后一次出現(xiàn)的位置str_replace()用于字符串中的某些字符
18、進(jìn)行替換操作substr()用于獲取字符串中的子串explode()使用一個(gè)字符串分割另一個(gè)字符串implode()用指定的連接符將數(shù)組拼接成一個(gè)字符串trim()去除字符串首尾處的空白字符(或指定成其他字符)str_repeat()重復(fù)一個(gè)字符串strcmp()用于判斷兩個(gè)字符串的大小 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)截取給定路徑中的字符串$url = C:webapache2.4htdocscat.jpg;$pos = strrpos($url, );/ 截取文件名稱,輸出結(jié)果:cat.jpgecho substr($url, $pos + 1);/ 截取文件所在的路徑,輸出結(jié)果:C
19、:webapache2.4htdocsecho substr($url, 0, $pos); strrpos()函數(shù)用于在$url中獲取“”最后一次出現(xiàn)的位置$pos。 substr()函數(shù)的第1個(gè)參數(shù)表示待截取的字符串,第2個(gè)參數(shù)表示開始截取的位置,非負(fù)數(shù)表示從字符串指定位置處截取,從0開始;負(fù)數(shù)表示從字符串尾部開始。第3個(gè)參數(shù)表示截取的長度。 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)截取給定路徑中的字符串substr()函數(shù)的第3個(gè)參數(shù)表示截取的長度,該長度的設(shè)置具體有以下4種情況。 省略第3個(gè)參數(shù)時(shí),將返回從指定位置到字符串結(jié)尾的子字符串。 第3個(gè)參數(shù)為正數(shù),返回的字符串將從指定位置開始,
20、最多包含指定長度的字符,這取決于待截取字符串的長度。 第3個(gè)參數(shù)為負(fù)數(shù),返回的字符串中在結(jié)尾處將有個(gè)指定長度的字符被省略。 第3個(gè)參數(shù)為0、false或null,將返回一個(gè)空字符串。 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)替換指定位數(shù)的字符替換指定位數(shù)的字符,在開發(fā)也是很常見的功能。例如,在各種抽獎(jiǎng)環(huán)節(jié)中,為了保證用戶的隱私,出現(xiàn)的手機(jī)號一般使用“*”將第4至7位的數(shù)字進(jìn)行覆蓋。$tel = / 隨意輸入一串?dāng)?shù)字作為手機(jī)號$len = 4; / 需要覆蓋的手機(jī)號長度$replace = str_repeat(*, $len); / 根據(jù)指定長度設(shè)置覆蓋的字符串echo
21、 substr_replace($tel, $replace, 3, $len);/ 輸出結(jié)果: 188*1888 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)替換指定位數(shù)的字符 str_repeat()函數(shù)用于對“*”字符重復(fù)$len次。 substr_replace()函數(shù)用于對字符串$tel中第3個(gè)位置開始后的$len長度的字符使用$replace進(jìn)行替換。 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)過濾字符串中的空白字符程序開發(fā)中,去除字符串中的空白字符有時(shí)是必不可少的。例如,去除用戶注冊郵箱中首尾兩端的空白字符。這時(shí)可以使用PHP提供的trim()函數(shù),去除字符串中首尾兩端的空白字符。 3.4
22、 PHP的內(nèi)置函數(shù)1.字符串函數(shù)過濾字符串中的空白字符$str = These are a few words :) . ;echo 原字符串: . $str . ;echo 去空白后的字符串: . trim($str); 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)過濾字符串中的空白字符注意注意在PHP中,除空格外,還有很多字符屬于空白字符,具體如下: 0 - ASCII 0,NULL。t - ASCII 9,制表符。n - ASCII 10,新行。x0B - ASCII 11,垂直制表符。r - ASCII 13,回車。 - ASCII 32,空格。 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)字符串
23、的比較字符串的比較字符串的比較:一種比較運(yùn)算符“=”和“=”,另一種函數(shù)strcmp()區(qū)別區(qū)別:函數(shù)與比較運(yùn)算符在使用時(shí)的區(qū)別是,字符串相等時(shí)前者的比較結(jié)果為0,后者的比較結(jié)果為true(非0)。因此讀者在使用時(shí)需要注意不同方式的返回結(jié)果。 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)字符串的比較if (strcmp(ye_PHP, yePHP) echo not the same string; else echo the same string; strcmp()函數(shù)比較兩個(gè)字符串對應(yīng)的ASCII碼值。 第1個(gè)參數(shù)的字符串與第2個(gè)參數(shù)的字符串相等返回0,小于返回小于0的值,大于則返回大于0的值
24、。 因此,可以判斷出上述示例的輸出結(jié)果為“not the same string”。 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)獲取字符串的長度strlen()函數(shù)在獲取中文字符時(shí),一個(gè)漢字占了3個(gè)字符,一個(gè)英文字符占1個(gè)字符。但是對于網(wǎng)站開發(fā)來說,這樣計(jì)算的方式比較麻煩,也沒辦法區(qū)分用戶輸入的內(nèi)容是否是漢字。 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)獲取字符串的長度PHP提供了mb_strlen()函數(shù),用于準(zhǔn)確的獲取字符串的長度。在使用mb_strlen()函數(shù)前,首先要確保PHP配置文件中開啟了“extension=php_mbstring.dll”擴(kuò)展。$str = PHP書籍;echo s
25、trlen($str); / 輸出結(jié)果:9$str = PHP書籍;echo mb_strlen($str, UTF-8); / 輸出結(jié)果:5對比 3.4 PHP的內(nèi)置函數(shù)1.字符串函數(shù)獲取字符串的長度注意注意常見的中文字符編碼類型有GBK和UTF-8。對于GBK編碼,一個(gè)中文字符占用2個(gè)字節(jié);對于UTF-8編碼,一個(gè)中文字符占用3個(gè)字節(jié)。 3.4 PHP的內(nèi)置函數(shù)2.數(shù)學(xué)函數(shù)為了方便開發(fā)人員處理程序中的數(shù)學(xué)運(yùn)算,PHP內(nèi)置了一系列的數(shù)學(xué)函數(shù),用于獲取最大值、最小值、生成隨機(jī)數(shù)等常見的數(shù)學(xué)運(yùn)算。函數(shù)名稱函數(shù)名稱功能描述功能描述abs()取絕對值ceil()向上取最接近的整數(shù)floor()向下取
26、最接近的整數(shù)fmod()取除法的浮點(diǎn)數(shù)余數(shù)is_nan()判斷是否為合法數(shù)值max()取最大值函數(shù)名稱函數(shù)名稱功能描述功能描述min()取最小值pi()取圓周率的值pow()計(jì)算x的y次方sqrt()取平方根round()對浮點(diǎn)數(shù)進(jìn)行四舍五入rand()生成隨機(jī)整數(shù) 3.4 PHP的內(nèi)置函數(shù)2.數(shù)學(xué)函數(shù)echo ceil(5.2);/ 輸出結(jié)果:6echo floor(7.8);/ 輸出結(jié)果:7 echo rand(1, 20); / 隨機(jī)輸出1到20間的整數(shù) ceil()函數(shù)是對浮點(diǎn)數(shù)5.2進(jìn)行向上取整, floor()函數(shù)是對浮點(diǎn)數(shù)進(jìn)行向下取整, rand()函數(shù)的參數(shù)表示隨機(jī)數(shù)的范圍,第
27、1個(gè)參數(shù)表示最小值,第2參數(shù)表示最大值。 3.4 PHP的內(nèi)置函數(shù)3.時(shí)間日期函數(shù)在使用PHP開發(fā)Web應(yīng)用程序時(shí),經(jīng)常會(huì)涉及日期和時(shí)間管理。例如倒計(jì)時(shí)、用戶登錄時(shí)間、新聞發(fā)布時(shí)間、購買商品時(shí)下訂單的時(shí)間等。為此,PHP提供了內(nèi)置的日期和時(shí)間處理函數(shù),滿足開發(fā)中的各種需求。 3.4 PHP的內(nèi)置函數(shù)3.時(shí)間日期函數(shù)函數(shù)名稱函數(shù)名稱功能描述功能描述time()獲取當(dāng)前的Unix時(shí)間戳date()格式化一個(gè)本地時(shí)間日期mktime()獲取指定日期的Unix時(shí)間戳strtotime()將字符串轉(zhuǎn)化成Unix時(shí)間戳microtime()獲取當(dāng)前Unix時(shí)間戳和微秒數(shù)Unix時(shí)間戳是一種時(shí)間的表示方式,
28、它是為了解決編程環(huán)境中時(shí)間運(yùn)算的問題。時(shí)間戳是一種時(shí)間的表示方式,它是為了解決編程環(huán)境中時(shí)間運(yùn)算的問題。 3.4 PHP的內(nèi)置函數(shù)3.時(shí)間日期函數(shù)時(shí)間戳概念概念:Unix時(shí)間戳(Unix timestamp)定義了從格林威治時(shí)間1970年01月01日00時(shí)00分00秒起至現(xiàn)在的總秒數(shù),以32位二進(jìn)制數(shù)表示。Unix紀(jì)元紀(jì)元:1970年01月01日零點(diǎn)也叫作Unix紀(jì)元。 3.4 PHP的內(nèi)置函數(shù)3.時(shí)間日期函數(shù)時(shí)間戳echo time();/ 輸出結(jié)果:1487666317echo mktime(0, 0, 0, 2, 21, 2017);/ 輸出結(jié)果:1487606400echo strto
29、time(2017-2-21);/ 輸出結(jié)果:1487606400echo microtime();/ 輸出結(jié)果:0.04142600 1487666098echo microtime(true);/ 輸出結(jié)果:1487666098.0414 time()函數(shù)用于獲取當(dāng)前時(shí)間的Unix時(shí)間戳, mktime()和strtotime()函數(shù)可將給定的日期時(shí)間轉(zhuǎn)換成Unix時(shí)間戳,前者的參數(shù)分別表示“時(shí)分秒月日年”,后者可以是任意時(shí)間的字符串。 函數(shù)microtime()用于獲取當(dāng)前Unix時(shí)間戳和微秒數(shù),不設(shè)置參數(shù)時(shí),返回值的形式前面一段數(shù)字表示微妙數(shù),后面一段數(shù)字表示秒數(shù);設(shè)置參數(shù)時(shí),小數(shù)點(diǎn)前
30、表示秒數(shù),小數(shù)點(diǎn)后表示微秒數(shù)。 3.4 PHP的內(nèi)置函數(shù)3.時(shí)間日期函數(shù)格式化時(shí)間戳為什么要格式化時(shí)間戳?為什么要格式化時(shí)間戳?答答:對于用戶來說,時(shí)間戳的直接輸出,會(huì)讓其看到一個(gè)毫無意義的整型數(shù)值。為了將時(shí)間戳表示的時(shí)間以友好的形式顯示出來,可以對時(shí)間戳進(jìn)行格式化。 3.4 PHP的內(nèi)置函數(shù)3.時(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個(gè)參數(shù)表示格式化日期時(shí)間的樣式 date()函數(shù)第2個(gè)參數(shù)表示待格
31、式化的時(shí)間戳,省略時(shí)表示格式化當(dāng)前時(shí)間戳。 3.4 PHP的內(nèi)置函數(shù)3.時(shí)間日期函數(shù)格式化時(shí)間戳分類分類參數(shù)參數(shù)說明說明年Y4位數(shù)字表示的完整年份,如1998、2017y2 位數(shù)字表示的年份,如99、03L是否為閏年,閏年為1,否則為0月m數(shù)字表示的月份,有前導(dǎo)零,返回值0112n數(shù)字表示的月份,無前導(dǎo)零,返回值112t給定月份所應(yīng)有的天數(shù),返回值范圍2831F月份,完整的文本格式,如January、MarchM三個(gè)字母縮寫表示的月份,如Jan、Dec日d月份中的第幾天,有前導(dǎo)零,返回值0131j月份中的第幾天,無前導(dǎo)零,返回值131 3.4 PHP的內(nèi)置函數(shù)3.時(shí)間日期函數(shù)格式化時(shí)間戳分類分類參數(shù)參數(shù)說明說明時(shí)間g小時(shí),12小時(shí)格
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州耐腐蝕地面施工方案
- 鐵藝車棚改造方案
- 加捻有光絲行業(yè)深度研究報(bào)告
- 2025年中國新能源汽車行業(yè)市場分析與發(fā)展前景預(yù)測分析報(bào)告
- 2025年度綠色農(nóng)業(yè)信用反擔(dān)保合同3篇
- 2025年度高新技術(shù)產(chǎn)業(yè)技術(shù)入股合同3篇
- 紅河2024年云南紅河州衛(wèi)生健康委員會(huì)招聘編外工作人員筆試歷年參考題庫附帶答案詳解
- 2025年度長途貨車司機(jī)聘用合同實(shí)施細(xì)則3篇
- 2025年技術(shù)轉(zhuǎn)讓代建合同
- 浙江浙江農(nóng)林大學(xué)20242025學(xué)年寒假勤工助學(xué)招聘筆試歷年參考題庫附帶答案詳解
- 2023年信息處理技術(shù)員教程
- 稽核管理培訓(xùn)
- 電梯曳引機(jī)生銹處理方案
- 電力電纜故障分析報(bào)告
- 中國電信網(wǎng)絡(luò)資源管理系統(tǒng)介紹
- 2024年浙江首考高考選考技術(shù)試卷試題真題(答案詳解)
- 《品牌形象設(shè)計(jì)》課件
- 倉庫管理基礎(chǔ)知識培訓(xùn)課件1
- 藥品的收貨與驗(yàn)收培訓(xùn)課件
- GH-T 1388-2022 脫水大蒜標(biāo)準(zhǔn)規(guī)范
- 高中英語人教版必修第一二冊語境記單詞清單
評論
0/150
提交評論