亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP筆記:PHP中的函數使用函數

2024-09-04 11:49:08
字體:
來源:轉載
供稿:網友

函數是一門程序中不可少的一個重要的東西,很多東西我們會做成函數這樣可以方便重復調用了,下面本文章重點就是介紹函數php函數用法.

一、函數的聲明

1、語法結構,代碼如下:

  1. function 函數名 (參數列表) 
  2.     函數體; //可選 
  3.     返回值; //return可選 

參數列表用逗號隔開,勿遺漏$變量符號,函數名不區分大小寫,規則與變量一致,函數調用才執行,可先調用后聲明,函數名不能重名,包括系統函數.

2、函數調用,代碼如下:

  1. function sum($x,$y//形參:在聲明函數時聲明的參數 
  2.     // $x = 1; //如果在函數內對參數賦值,則會覆蓋實參。 
  3.     // $y = 2; //開源軟件:Vevb.com 
  4.     $sum = 0; 
  5.     $sum = $x + $y
  6.     return $sum//執行到return函數結束,后面不再執行 
  7. sum(); 
  8. sum(2,2); //實參:在調用函數時傳遞給形參的數值 
  9. echo sum(2,2); //通過return返回數據可作為值使用 

二、函數中的變量

1、變量范圍

局部變量:函數內部聲明與使用的變量

全局變量:在函數外聲明,腳本任何地方均可以使用

Tips:在PHP函數中使用全局變量,要通過global關鍵字將這個全局變量包含到函數中才能使用,代碼如下:

  1. $a = 1; 
  2. $b = 2; 
  3. function demo($a = ''
  4.     //global 須放在前面 
  5.     //global $a,$b global 可包含多個全局變量 
  6.     //$GLOBALS['a'] //聲明全局變量 方法二 
  7.     global $a
  8.     $a += 5; 
  9.     echo $a
  10. demo(); 

2、PHP靜態變量

靜態變量可以在同一個函數中多次調用中共用,靜態變量只能在函數或類中聲明,不能在全局聲明,代碼如下:

  1. function demo($a = ''
  2.     static $a = 0; //定義靜態變量 
  3.     $a++; 
  4.     echo "$a <br>"
  5. demo(); //輸出1 
  6. demo(); //輸出2 

3、變量函數,代碼如下:

  1. $var = 'hello'//變量名后面右括號,就尋找與變量值同名的函數 
  2. $var(); //等價于 hello(); 

三、函數分類及聲明

1、函數分類,代碼如下:

  1. //常規函數 
  2. bool copy(string source,string dest) 
  3. //帶mixed,表示可以傳任何類型的數據 
  4. bool chown(string filename,mixed user) 
  5. //帶&參數的函數,這個參數只能是變量,變量值是動態的 
  6. //對數組進行排序,數組的索引保持和單元的關聯 
  7. bool arsort ( array &$array [, int $sort_flags ] ) 
  8. $fruits = array('a''c''b'); 
  9. arsort($fruits); 
  10. var_dump($fruits); 
  11. //默認函數,即帶[]中括號的函數,表示參數可選,若沒有傳值則使用默認值 
  12. //如果調用沒有賦值,又沒有初值則出現警告 
  13. function demo($a=1,$b=2) 
  14.     #code 
  15. demo(); 
  16. //帶有...參數的函數,表示可以傳任意多個參數 
  17. //在數組開頭插入一個或多個單元  
  18. int array_unshift ( array &$array , mixed $var [, mixed $... ] ) 

2、聲明多個參數函數,代碼如下:

  1. function Test() 
  2.     echo func_num_args(); 
  3. Test('a','b','c');  // 3 
  4. func_get_arg():返回參數列表中的第N個參數 
  5. function Test() 
  6.     echo func_get_arg('1');  
  7. Test('a','b','c'); //b 
  8. //使用實例: 
  9. function cls_mysql() 
  10.     $mysql = func_get_args(); 
  11.     $conn = mysql_connect($mysql['0'], $mysql['1'], $mysql['2']); 
  12. cls_mysql('localhost:3306''root''123456'); 

3、函數注釋規范,代碼如下:

  1. /** 
  2.  * 用用演示函數 //函數功能,決定是否使用 
  3.  *  
  4.  * @static 
  5.  * @access public 
  6.  * @param string $attributeName 屬性名稱 //函數參數,決定怎樣調用 
  7.  * @return string //函數的返回值,決定調用后怎么處理 
  8.  */ 
  9. public function demo($attributeName
  10.     $attributeName = 'abc'
  11.     return $attributeName 

四、Callback 回調函數

我們自定義一個函數A,但是我們不直接去調函數A,而是在函數B中去調用函數A,函數B通過接收函數A的名字和參數來實現對函數A的調用,函數A稱為回調函數,代碼如下:

  1. function A($x,$y
  2.     return $x*$y
  3. function B($a,$b,$fun
  4.     return $a+$b+$fun($a,$b); 
  5. echo B(2,3,"A"); 

PHP回調函數的實現方法

php提供了兩個內置函數call_user_func()和call_user_func_array()提供對回調函數的支持,代碼如下:

  1. //mixed call_user_func_array 以數組的形式接收回調函數的參數 
  2. mixed call_user_func_array ( callable $callback , array $param_arr ) 
  3. call_user_func_array('f1',array('A','B')); 
  4. //call_user_func的參數個數根據回調函數的參數來確定 
  5. mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] ) 
  6. call_user_func_array('f1','A','B'); 

實例代碼如下:

  1. //普通全局函數 
  2. function f1($arg1,$arg2
  3.     echo $arg1."<br>".$arg2."<br>"
  4. echo "通過call_user_func_array調用函數f1:<br>"
  5. call_user_func_array('f1',array('A','B')); 
  6. echo "通過call_user_func調用函數f1:<br>"
  7. call_user_func('f1','C','D'); 
  8. //類 
  9. class myClass 
  10.     public $name
  11.     function show($arg1
  12.     { 
  13.         echo '參數名:'.$arg1."<br>"
  14.         echo '對象中的成員名:'.$this->name; 
  15.         echo "<br>"
  16.     } 
  17.     function show1($arg1,$arg2
  18.     {   
  19.         echo $arg1."<br>".$arg2."<br>"
  20.     } 
  21.     public static function show2($arg1,$arg2)   
  22.     { 
  23.         echo $arg1."<br>".$arg2."<br>"
  24.     } 
  25. echo "調用類中非靜態成員函數,該成員函數中有this調用了對象中的成員:<br>"
  26. $a = new myClass; 
  27. $a->name = 'F'
  28. call_user_func_array(array($a,'show'),array('E')); 
  29. echo "調用類中非靜態成員函數,該函數沒有調用對象中的成員,沒有this:<br>"
  30. call_user_func_array(array('myClass','show1'),array('G','H')); 
  31. echo "調用類中靜態成員函數:<br>"
  32. call_user_func_array(array('myClass','show2'),array('I','J')); 

五、內部函數

在函數內部再聲明函數,目的是在函數內部調用,用來幫助外部函數完成一些子功能.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品91免费在线| 精品久久久久久久久久久久| 中文日韩在线视频| 国产精品午夜国产小视频| 欧美大片欧美激情性色a∨久久| 国产成人精品电影久久久| 成人在线播放av| 性色av一区二区三区在线观看| 国产欧美日韩91| 亚洲精品福利在线| 欧美色另类天堂2015| 国产女同一区二区| 久久天天躁狠狠躁夜夜躁| 亚洲免费视频观看| 欧美黑人狂野猛交老妇| 亚洲女人被黑人巨大进入| 欧美成人免费全部观看天天性色| 精品久久久久久久久久久| 国产精品旅馆在线| 亚洲国产精品人人爽夜夜爽| 日韩精品免费综合视频在线播放| 久久久久久网址| 成人字幕网zmw| 秋霞成人午夜鲁丝一区二区三区| 91精品久久久久久| 亚洲毛片在线看| 亚洲精品午夜精品| 在线电影欧美日韩一区二区私密| 久久色在线播放| 国产精品一区二区久久国产| 午夜精品99久久免费| 日韩视频中文字幕| 精品久久久久久久久中文字幕| 性欧美亚洲xxxx乳在线观看| 欧美国产精品人人做人人爱| 庆余年2免费日韩剧观看大牛| 在线观看成人黄色| 亚洲精品久久久久久久久久久久| 日韩精品极品毛片系列视频| 国产一区欧美二区三区| 97在线视频一区| 国产成人精品一区二区在线| 国产成人亚洲精品| 国产亚洲欧洲高清一区| 欧美成人中文字幕| 91网站在线看| 国产日韩在线亚洲字幕中文| 日本精品一区二区三区在线| 日韩精品免费在线播放| 人体精品一二三区| 国内精品视频一区| 欧美丝袜一区二区三区| 亚洲欧美日韩一区二区在线| 欧美亚洲一区在线| 久久精品99国产精品酒店日本| 久久久久久久久久久91| 国产美女久久精品| 九九久久综合网站| 国产精品久久久久久婷婷天堂| 欧美日韩一二三四五区| 国产成人久久精品| 97国产成人精品视频| 91在线精品视频| 亚洲人成77777在线观看网| 欧美午夜女人视频在线| 96国产粉嫩美女| 精品久久在线播放| 亚洲日本aⅴ片在线观看香蕉| 久久久久久久999精品视频| 午夜精品www| 国产精品久久久久久久久久久久久| 中文精品99久久国产香蕉| 日本一区二区三区在线播放| 欧美丰满片xxx777| 亚洲一区二区久久久久久| 久久精品国产亚洲精品| 欧美日韩一区二区三区在线免费观看| 国产精品福利在线| 日本欧美精品在线| 国产日韩中文字幕在线| 国产一区二区在线免费| 亚洲色图第三页| 国产成人综合精品| 久久久久久久久久久国产| 亚洲国产成人爱av在线播放| 精品人伦一区二区三区蜜桃网站| 亚洲第一区第二区| 日韩激情av在线播放| 亚洲电影av在线| 欧美乱大交做爰xxxⅹ性3| 国产精品久久久久久久久久久不卡| 91色p视频在线| 亚洲第一网中文字幕| 久久成人免费视频| 91精品91久久久久久| 中文字幕日韩欧美在线| 亚洲最新在线视频| 国产精品成人在线| 欧美日韩国产在线播放| 午夜精品三级视频福利| 国产在线精品播放| 日韩欧美极品在线观看| 久久久久久网址| 欧美激情在线狂野欧美精品| 国产精品网红福利| 日韩欧美国产成人| 亚洲精品成人网| 亚洲人成电影在线播放| 亚洲天堂av在线播放| 亚洲区一区二区| 91久久综合亚洲鲁鲁五月天| 久久国内精品一国内精品| 亚洲第一精品夜夜躁人人爽| 九色成人免费视频| 久久久久久亚洲精品| 亚洲一级片在线看| 亚洲欧美中文字幕在线一区| 欧美激情a∨在线视频播放| 91av在线播放| 中文字幕日韩在线播放| 亚洲精品成人久久| 欧美国产日韩精品| 欧美日本在线视频中文字字幕| 亚洲天堂免费视频| 亚洲电影av在线| 国产精品国产三级国产aⅴ9色| 日韩欧美国产成人| 中文字幕日韩在线播放| 欧美一区二区视频97| 日韩av一区二区在线观看| 久久久亚洲影院| 欧美一级大胆视频| 久久久免费高清电视剧观看| 日韩精品高清在线观看| 国产一区二区三区在线观看网站| 亚洲一区免费网站| 亚洲福利视频网| 亚洲a区在线视频| 2019中文字幕在线| 日韩精品免费在线| 国产视频精品va久久久久久| 韩日欧美一区二区| 久久久97精品| 国产亚洲激情视频在线| 伊人av综合网| 亚洲成人黄色在线观看| 视频一区视频二区国产精品| 国产精品久久久久久久久久免费| 黄色精品在线看| 亚洲综合精品一区二区| 浅井舞香一区二区| 91精品在线一区| 日本精品一区二区三区在线| 国产91|九色| 欧美国产一区二区三区| 欧美一级大片在线观看| 国产精品久久久久7777婷婷| 亚洲精品久久久久中文字幕二区| 久久九九全国免费精品观看| 国产精品欧美亚洲777777| 狠狠综合久久av一区二区小说| 国产一区二区三区直播精品电影| 久久久久久久91| 精品久久久中文|