好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PHP函數用法詳解【初始化、嵌套、內置函數等】

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

熱門標簽:菏澤語音外呼系統運營商 如何在世界地圖標注 廈門400電話辦理選易號網 公司外呼系統中心 天客通地圖標注 電子地圖標注怎么修改 梧州市機器人外呼系統怎么樣 臨沂crm外呼系統平臺 地圖標注符號樣式有

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

初始函數

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

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

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

函數的基本語法格式

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

參數設置

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

  • 無參函數


  • 按值傳遞參數

    PHP默認支持按值傳遞參數,按此種方式定義的函數,在函數內部可以睡衣對用戶傳遞的參數進行操作。


  • 引用傳參
    在開發中,若需要函數修改它的參數值,則需要通過函數的引用傳遞。實現方式只需要在參數中前添加“”符號即可。


  • 設置參數默認值

    函數參數在設置時,還可以為其指定默認值,也就是可選參數。當調用者未傳遞該參數時,函數將使用默認值進行操作。
    當使用默認參數時,默認參數必須放在非默認參數的右側,否則函數可能出錯。
  • 指定參數類型(弱)

    在PHP 7.0及以上的版本后,在自定義函數時,可以指定參數具體時那種數據類型
    當用戶調用函數時,如果傳遞參數不是int類型。程序傳遞的參數不是int類型,程序會將其強制的轉換為int型后,在進行操作,這種方式稱為弱類型參數設置。
  • 指定參數類型(強)

    除此之外,還可以將其設置為強類型的參數,即當用戶傳遞的類型不符合函數的定義,程序會報錯提醒。

變量的作用域

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

  • 變量只有在其作用范圍內才可以被使用,這個作用范圍稱為變量的作用域。
  • 在函數中定義的變量稱為局部變量
  • 在函數外定義的變量稱為全局變量
function test (){
		$sum = 36; //局部變量
		return $sum;
}
$sum = 0;	//全局變量
echo text();	//輸出結果:36
echo $sum;	//輸出結構:0

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

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

函數的嵌套調用

嵌套調用

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

遞歸調用

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

函數的高級應用

1. 靜態變量

輕松得到函數被訪問的次數,一是在函數中使用全局變量記錄,缺點是全局變量可隨時子啊函數外被改變,不能準確的記錄;二是在函數中使用靜態變量。

變量的作用域

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

2.可變函數

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

3.回調函數

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

4. 匿名函數

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

php的內置函數

  • 字符串函數

    字符串函數是PHP用來操作字符串的內置函數,在實際開發中有著非常重要的作用

    • 截取給定路徑中的字符串
$url = 'C:\web\apache2.4\htdocs\cat.jpg';
$pos = strrpos($url, '\\');
// 截取文件名稱,輸出結果:cat.jpg
echo substr($url, $pos + 1);
// 截取文件所在的路徑,輸出結果:C:\web\apache2.4\htdocs
echo 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#x6B21;#x3002;substrreplace()#x51FD;#x6570;#x7528;#x4E8E;#x5BF9;#x5B57;#x7B26;#x4E32; len#x6B21;#x3002;substr_replace()#x51FD;#x6570;#x7528;#x4E8E;#x5BF9;#x5B57;#x7B26;#x4E32;" role="presentation" style="position: relative;">len次。substrr​eplace()函數用于對字符串tel中第3個位置開始后的len#x957F;#x5EA6;#x7684;#x5B57;#x7B26;#x4F7F;#x7528; len#x957F;#x5EA6;#x7684;#x5B57;#x7B26;#x4F7F;#x7528;" role="presentation" style="position: relative;">len長度的字符使用replace進行替換。

  • 數字函數

    為了方便開發人員處理程序中的數學運算,PHP內置了一系列的數學函數,用于獲取最大值、最小值、生成隨機數等常見的數學運算。
echo ceil(5.2);	// 輸出結果:6
echo floor(7.8);	// 輸出結果:7 
echo rand(1, 20);	// 隨機輸出1到20間的整數

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

  • 時間日期函數

    在使用PHP開發Web應用程序時,經常會涉及日期和時間管理。
    例如倒計時、用戶登錄時間、新聞發布時間、購買商品時下訂單的時間等。
    為此,PHP提供了內置的日期和時間處理函數,滿足開發中的各種需求。

    Unix時間戳是一種時間的表示方式,它是為了解決編程環境中時間運算的問題。

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

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

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

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

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

date()函數第1個參數表示格式化日期時間的樣式
date()函數第2個參數表示待格式化的時間戳,省略時表示格式化當前時間戳。

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

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

您可能感興趣的文章:
  • php利用嵌套數組拼接與解析json的方法
  • PHP中實現MySQL嵌套事務的兩種解決方案
  • PHP中的函數嵌套層數限制分析
  • PHP 修復未正常關閉的HTML標簽實現代碼(支持嵌套和就近閉合)
  • php無限級評論嵌套實現代碼
  • PHP樹的代碼,可以嵌套任意層
  • PHP嵌套輸出緩沖代碼實例
  • PHP優化教程之解決嵌套問題

標簽:白城 郴州 瀘州 綿陽 黃石 貴陽 雞西 迪慶

巨人網絡通訊聲明:本文標題《PHP函數用法詳解【初始化、嵌套、內置函數等】》,本文關鍵詞  PHP,函數,用法,詳解,初始化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP函數用法詳解【初始化、嵌套、內置函數等】》相關的同類信息!
  • 本頁收集關于PHP函數用法詳解【初始化、嵌套、內置函數等】的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久91av| 免费播放片 a大片 播放器| 皇上虐孕边做产生乱H高H男男| 免费网站在线观看人数在哪省| 一夜残欢完整版电影| 色综合久久婷婷天天| 17·3做爰A片| 国产视频下载| 理论片在线免费观看| 韩国电影三级Good在线观看| 亚洲色综合区小说区| 壮汉在工地被猛男房东H| 美女裸体照| 欧美人与禽z0zo性伦交| 男人皇宫色皇宫◆亚洲| 亚洲成在人天堂一区二区| 免费看黄在线观看| XXOO福利视频导航| 色帝国亚洲欧美在线| 亚洲精品福利在线观看| 国产精品久久久久久精品毛片| 啊啊啊好舒服| 快穿名器h| 爱瑟瑟精品视频在线播放| 男男伦流澡~你tm别?了文| 久久97精品国产综合色| 羞耻诊疗室OVA1~6集| 天天拍拍夜夜出水| 日本乱hd高清videos| 嗯~啊~乖~进去了~h~乖视频| h上帝店长的命令要必须服从| 中文字幕avv| 韩漫免费看| koreaxxxxfreehd国产| 精品国产污污免费网站在线观看 | 久久久这里只有精品加勒比| 精品3d卡通动漫h在线观看| 欧美色视频日本片免费 | 女上男下人xx动态图lovefou| 国产亚洲欧洲| 欧美婷婷久久五月精品三区|