1. 自定義函式
(1) 函式呼叫前不用定義, 除非是有條件的定義
(2) 所有函式都具有全域性作用域
(3) 不支援函式過載
(4) 函式名稱大小寫不敏感( 變數名大小寫敏感 )
(5) 引數加 & 將使用引用傳參
(6) 可以多傳引數, 不能少傳
(7) 預設引數可使用陣列( 必須為常量表示式 )
(8) 實現可變引數列表( func_num_args, func_get_arg, func_get_args )
function echoln()
echo '';}
echoln(1, 2, 3, 4);
// 輸出: 1234
2. 匿名函式
(1) 匿名函式通過類 closure 實現, 每個匿名函式都是個 clouse 物件
// 模擬實現只能帶0個或1個引數的匿名函式物件
class functionobject
function __invoke($args)
}// 呼叫
$func = new functionobject(function($str) );
$func('hello world');
// 輸出: hello world
(2) php 中的匿名函式是種偽閉包, 通過 use() 可以捕捉上下文中的自由變數
$init = 1;
$adder = function($x) use($init) ;
var_dump($adder);
/* 輸出:
object(closure)#1 (2)
["parameter"]=> array(1)
}*/
可以看出php捕捉自由變數是通過將變數拷貝為物件的 "staitc" 屬性實現的
(3) 匿名函式實現遞迴
// 匿名函式遞迴實現階乘
// 假定輸入不為負數
$factorial = function($num) use(&$factorial) ;
php學習筆記4 php函式
php header content type text html charset utf 8 輸出中文編碼 function fun name str1,str2,strn 說明 function 為宣告自定義函式時必須使用到的關鍵字 fun name 自定義函式的名稱 str1.strn 函式引...
PHP 實用函式4
輸出關於php和當前請示的資訊頁面 int phpinfo void 返回當前php版本號 string phpversion void 列印出為本php專案做出貢獻的人員的清單 string phpcredits void 可將 var 轉成整數型別。base 是轉換的基底,預設值為10。轉換的變...
PHP學習4 查詢
step 1 link mysql connect localhost root 123456 or die connect error step 2 mysql select db xsphpdb or die select db error function table tabname sql ...