首頁  >  文章  >  後端開發  >  php函數定義與函數&引用用法

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

高洛峰
高洛峰原創
2016-11-29 11:57:301535瀏覽

函數定義:1.函數是一個被命名的,2.獨立的程式碼段,3.函數執行特定任務,4.並且可以給呼叫它的程式傳回一個值.

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

函數的宣告:

 function 函數名(){

   } 

 function 函數名稱(參數1,參數2,參數...) 

 { 

   

   函數體; 

  回傳值;

 } 

  function 函數名稱(參數列表...) 

  { 

   函數體; 

: 呼叫才能執行,可以在宣告之前呼叫,也可以在宣告之後呼叫.

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

三、函數在宣告時不能重名

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

形參:在宣告函數時,宣告的參數,參數就是變數,多個參數用,分開

實參:呼叫函數時傳給形參數值(資料,也可以是變數)

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

六、透過使用return語句回傳資料

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

函數名的作用:

1.呼叫函數,開始執行函數

2.可以傳遞資料到函數

3.函數名稱就是傳回的值

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

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

插入函數程式碼,新增一個"}" - 函數透過關閉花括號來結束.

 

 

  echo "David Yang"; 

  } 

 

writeMyName(); 

腳本中使用這個函數了:

 

 

 

function writeMyName() 🠎

  } 

 

echo "Hello world !
"; 

echo "My name is "; 

writeMyName(); 

echo ".
That's 

echo ".
That's 

echo ".
That's right, my name. "; 

?> 

 

 

//以上程式碼的輸出: 

Hello world 🠎. Yang is my name

函數引用&:

function &c()  

 

{  

$GLOBALS['MALL'] =&$var;  

}  

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

function c($var){ 

$var=$var+1; 

$var=10; 

c($var);成function c(&$var){}

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

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

$array = array("red"=>"Red","green"=>"red4","Red15"=>"Red",7=>"Level","Width"=>; "紅色", "azzzz1"=>"藝術","高峰"=>158);         

$array1 = array("red"=>"Red2","greena"=>"red","Red15"=>"Red" ,7=>"等級","寬度"=> ;"紅色","azzzz"=>"藝術","峰值"=>158);         

print_r ($num);        迴聲「
」;        

 $num = array_intersect_assoc($array,$1)$num num);        迴聲「
」; 

//開源代碼phpfensi.com 

$num = array_intersect_key($array,$array1);         

print_r ($num); > 

 

//運行結果: 

 

Array( [red] => 紅色 [Red15] =>  [7] => 紅色 [Red15] =>  [7] => 紅色 [Red15] =>  [7] => 紅色 [Red15] >158)陣列([紅色15]=>紅色[7]=>等級[寬度]=>紅色[峰值]=>158)陣列([紅色]=>紅色[紅色15] ] =>  Red [7] =>  Level [Width] =>  Red [peak] =>  158 ) 

總結:

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

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

3.array_intersect_key()函數適用於比較兩個群集鍵值的交集,傳回的不只有鍵值,而是鍵值與對應的群集值

實例:

$a = 數組( 

        'a' => '你好', 

        'b' => 'bbsŠ

); =UTF-8');

echo json_encode($a)."n"; 

function replace_unicode_escape_sequence($match) 

{  ]), 'UTF-8', ' UCS-2BE'); 

echo preg_replace_callback('/u([0-9a-f]{4})/i','replace_unicode_escape_sequence',json_encode($a))。 ? >

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:加強for循環下一篇:加強for循環