函式如果按照書上的說法去寫這篇文章,我覺得讀者很難能明白按值傳遞和按位址傳遞的本質,所以我想通過一些具體的例子來說明這些概念可能比死記硬背概念強的多,也更加容易理解一些。函式這節涉及程式設計上的許多難點,所以請讀者務必仔細體會我給出的例子。
平板檢視
列印?01
/**
02 定義乙個函式 function 是關鍵字
03 函式名不區分大小寫 不能是關鍵字 命名規則與變數一致
04 函式不支援過載
05 函式名不可以相同
06 函式的實參=虛參的個數(除了預設值)
07 函式體內可以定義函式,即巢狀
08 函式可以先呼叫再定義,但是巢狀函式不可以先呼叫再定義
09 括號中的引數稱作形參或虛參 可以有預設值
10 return 用於返回主程式 可以帶值 可以不帶值
11 */
12 //函式的合法性檢測
13 //function_exists('函式名稱') 判斷函式是否存在
14 //get_defined_functions(); 獲得所有的php包括使用者定義的函式
15
16 //和函式引數相關的函式
17 //func_num_args(); 返回函式的實參引數個數
18 //func_get_args(); 將實參以陣列的形式返回
19 //func_get_arg($index); 獲得某個參,下標與陣列一致
20 functionfunc_name($param,$param2='iphper'/*預設*/)//行參
21
36 //跳出函式func_name
37 return$var./*內部函式必須在定義之後呼叫*/f2($param,$param2);
38 }
39 echo'該函式返回的值是:'.func_name('english is '/*實參*/);
40 echo'';
41echo'函式是否已經定義;';
42 var_dump(function_exists('f2'));
43
44 //變數函式:函式的呼叫通過乙個變數實現 什麼意思?
45 $func='func_name';
46 echo$func('chinese is ');
47
48 //通過函式呼叫函式
49 echocall_user_func('func_name','french is ');
50
51 //去上面的區別很明顯就是引數傳遞 仔細觀察
52 echocall_user_func_array('func_name',array('janpanese is '));
53
54 /**
55 值傳遞的是副本 不影響自身
56 引用傳遞的是位址 即形參和實參指向同乙個儲存空間
57 a->[記憶體空間]
58 實參和形參只要存在乙個是位址引用 即為引用傳遞
59 函式也可以返回引用 即返回乙個對變數的引用的位址
60 此時函式的定義需要加上 & 符號 呼叫時也必須加上 & 符號
61 否則都返回的都是副本
62 */
63 //函式引數的值引用
64 functionreference($quote)
65
68 $quote='';
69 reference($quote);
70 echo$quote;
71 echo'';
72//函式引數的位址引用
73 functionreference2(&$quote2)
74
77 $quote2='';
78 reference2(&$quote2);
79 echo$quote2;
80
81 //返回引用 而非副本
82 $return_ref='good';
83 function&testref()
84
88 $re= &testref();//此處必須加上 & 符號
89 $re='bad';
90 echo$return_ref;
PHP中函式的定義與使用
函式的定義 function 函式名 引數列表 函式可分為四類 無參無返回值,無參有返回值,有參無返回值以及有參有返回值。具體使用如下 函式 無參無返回值 function cacl cacl 呼叫 echo 有參無返回值 function cacl1 num1,num2 cacl1 10,10 e...
PHP 函式的定義與呼叫
函式 封裝一段用於完成特定功能的 通俗理解函式 可以完成某個工作的 塊,就像小朋友搭房子用的積木一樣,可以反覆使用,在使用的時候,拿來即用,而不用考慮它的內部構成。str abcd upper strtoupper str 呼叫strtoupper 函式將 str轉換成大寫 lower strtol...
函式的定義與使用
方 python基本 抽象即函式的使用方法 實踐能力 學會編寫帶有函式並復用 程式 函式是一段具有特定功能的 可重複使用的語句組。函式是一種功能的抽象,一般函式表達特定功能。兩個作用 降低程式設計難度和 復用 def 函式名 引數 0個或多個 函式體 函式內部包含的一些語句 return 返回值 案...