国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php函數定義與函數&引用用法

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

函數定義:1.函數是一個被命名的,2.獨立的代碼段,3.函數執行特定任務,4.并可以給調用它的程序返回一個值.

函數的優點:1.提高程序的重用性,2.提高程序的可維護性,3.可以提高開發效率,4.提高軟件的可靠性,5.控制程序的復雜性.

函數的聲明:

  1.  function 函數名(){ 
  2.    } 
  3.  function 函數名(參數1,參數2,參數...) 
  4.  { 
  5.    函數體 
  6.   }
  7.  function 函數名() 
  8.   { 
  9.    函數體; 
  10.   返回值; 
  11.  } 
  12.   function 函數名(參數列表...) 
  13.   { 
  14.    函數體; 
  15.    返回值 
  16.  } 

注意:

一、函數必須調用才能執行,可以在聲明之前調用,也可以在聲明之后調用.

二、函數名命名和變量一樣,aaa bbb ccc aaaBbbCcc(第一單詞小寫,以后每個單詞首字母大寫)

三、函數在聲明時不能重名

四、可以通過向函數傳遞參數,改變函數的行為

形參:在聲明函數時,聲明的參數,參數就是變量,多個參數用,分開

實參:調用函數時傳給形參數值(數據,也可以是變量)

五、如果沒有返回值則稱為過程

六、通過使用return語句返回數據

七、函數執行到return語句就結束,不要再這個語句后寫代碼,也可以用return結束函數的執行.

函數名的作用:

1.調用函數,開始執行函數

2.可以向函數中傳遞數據

3.函數名就是返回的值

PHP 函數:所有的函數都使用關鍵詞 "function()" 來開始.

命名函數 - 函數的名稱應該提示出它的功能,函數名稱以字母或下劃線開頭.添加 "{" - 開口的花括號之后的部分是函數的代碼.

插入函數代碼,添加一個 "}" - 函數通過關閉花括號來結束.

  1. <html> 
  2. <body> 
  3. <?php 
  4. function writeMyName() 
  5.   { 
  6.   echo "David Yang"
  7.   } 
  8.  
  9. writeMyName(); 
  10. ?> 
  11. </body> 
  12. </html> 

另一種輸出方式,現在,我們要在 PHP 腳本中使用這個函數了:

  1. <html> 
  2. <body> 
  3.  
  4. <?php 
  5. function writeMyName() 
  6.   { 
  7.   echo "David Yang"
  8.   } 
  9.  
  10. echo "Hello world!<br />"
  11. echo "My name is "
  12. writeMyName(); 
  13. echo ".<br />That's right, "
  14. writeMyName(); 
  15. echo " is my name."
  16. ?> 
  17. </body> 
  18. </html> 
  19. //以上代碼的輸出: 
  20. Hello world! 
  21. My name is David Yang. 
  22. That's right, David Yang is my name 

函數引用&:

  1. function &c()  
  2.  

&c是什么意思,有什么好處與壞處 這個我也不明白

  1. function c(&$var)  
  2. {  
  3. $GLOBALS['MALL'] =&$var;  
  4. }  

&$var和普通傳值有什么區別,這個是引用的意思,可以在函數內部修改$var的值,舉個例子:

  1. function c($var){ 
  2. $var=$var+1; 
  3. $var=10; 
  4. c($var); 

echo $var;這個輸出是10,如果函數改成function c(&$var){}

系統函數用法:PHP數組的交集array_intersect(),array_intersect_assoc(),array_inter_key()函數的小問題,求兩個數組的交集問題可以使用array_intersect(),array_inersect_assoc,array_intersect_key來實現,其中array_intersect()函數是求兩個數的交集,返回一個交集共有元素的數組(只是數組值得比較)、array_intersect_assoc()函數是將鍵值和值綁定,一起比較交集部分、array_intersect_key()函數是將兩個數組的鍵值進行比較,返回鍵值交集的數組.

但實際應用中也遇到了一些小問題,正如下,實例:

  1. <?PHP          
  2. $array = array("red"=>"Red","green"=>"red4","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz1"=>"art","peak"=>158);         
  3. $array1 = array("red"=>"Red2","greena"=>"red","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz"=>"art","peak"=>158);         
  4. $num = array_intersect($array,$array1);         
  5. print_r ($num);        echo "<br />";        
  6.  $num = array_intersect_assoc($array,$array1);         
  7. print_r($num);        echo "<br />"
  8. //開源代碼Vevb.com 
  9. $num = array_intersect_key($array,$array1);         
  10. print_r ($num);     
  11. ?> 
  12.  
  13. //運行結果: 
  14.  
  15. Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [azzzz1] => art [peak] => 158 ) Array ( [Red15] => Red [7] => Level [Width] => Red [peak] => 158 ) Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [peak] => 158 ) 

總結:

1.array_intersect()函數進行的比較只有數組值的比較,而且存在如”Red“和”Red2“比較時會返回"Red",反之則不會返回"Red2";

2.array_intersect_assoc()函數是將數組的值與鍵值一起比較,而且不會存在array_intersect的情況,適用于較嚴格的比較;

3.array_intersect_key()函數適用于比較兩個數組鍵值的交集,返回的并不只有鍵值,而是鍵值和對應的數組值

實例:

  1. <?php 
  2. $a = array
  3.         'a' => '你好'
  4.         'b' => 'bb' 
  5. ); 
  6. //header('Content-Type:application/json; charset=UTF-8'); 
  7. echo json_encode($a)."n"
  8. function replace_unicode_escape_sequence($match
  9.         return mb_convert_encoding(pack('H*'$match[1]), 'UTF-8''UCS-2BE'); 
  10. echo preg_replace_callback('//u([0-9a-f]{4})/i','replace_unicode_escape_sequence',json_encode($a))."n"
  11. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 申扎县| 汤阴县| 姚安县| 唐河县| 云林县| 南雄市| 无极县| 年辖:市辖区| 霍城县| 客服| 秦安县| 玉环县| 兴业县| 永靖县| 沅江市| 湘乡市| 增城市| 闸北区| 香河县| 富平县| 夏邑县| 庆安县| 班玛县| 莲花县| 武功县| 阜南县| 礼泉县| 中超| 新干县| 普定县| 五莲县| 正宁县| 通化县| 永康市| 南靖县| 西昌市| 陆川县| 丽江市| 丰台区| 通榆县| 衡南县|