1.函數(shù)和類的作用域比較奇怪,是全局的。
網(wǎng)站設(shè)計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);成都做網(wǎng)站、成都網(wǎng)站建設(shè)收費合理;免費進行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運營了十年的創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。
function foo()PHP里的函數(shù)不能重載,或取消定義或重定義。
PHP里的函數(shù)可以使用遞歸,但應(yīng)避免調(diào)用超過100/200層,可能會崩潰。
2.函數(shù)的參數(shù)
PHP 在用戶自定義函數(shù)中支持可變數(shù)量的參數(shù)列表。其實很簡單,只需使用 func_num_args(),func_get_arg(),和 func_get_args() 函數(shù)即可。
引用傳參時,函數(shù)內(nèi)部的改變將會影響到參數(shù)原值。
3.返回值
函數(shù)內(nèi)不寫return 則默認返回null.
從函數(shù)可以返回一個引用。
例1:
class foo
{
public $value = 42;
public function &getValue() // be sure must add &
{
return $this->value;
}
}
$obj = new foo;
$myValue = &$obj->getValue(); // be sure must add &
echo $myValue; //42
$obj->value = 15;
echo $myValue; //15
?>
例2:
$abc = 5;
function &rr() // be sure must add &
{
global $abc;
return $abc;
}
$nr = &rr(); // be sure must add &
echo $nr; //5
$abc = 10;
echo $nr; //10
?>
4.可變函數(shù)
如:$a(); 類似這樣的。
注意:當調(diào)用靜態(tài)方法時,函數(shù)調(diào)用要比靜態(tài)屬性優(yōu)先,如:
Foo::$variable; //調(diào)用類屬性
$variable = "abc";
Foo:$variable(); //調(diào)用類方法
?>
5.內(nèi)置函數(shù)
內(nèi)置函數(shù)通常隨著不同的擴展而存在,比較有用的檢查函數(shù)是
get_extension_funcs 它可以查看該擴展里有些啥已定義函數(shù)。
get_loaded_extensions 返回所有已經(jīng)加載的模塊名
6.匿名函數(shù)
匿名函數(shù)(Anonymous functions),也叫閉包函數(shù)(closures),允許 臨時創(chuàng)建一個沒有指定名稱的函數(shù)。最經(jīng)常用作回調(diào)函數(shù)(callback)參數(shù)的值。當然,也有其它應(yīng)用的情況。
例1:
$a = function($b){};
$a(“def”);
例2(use巧用):
$a = "good";
$b = "luck";
$c = function ($x,$y) use ($a,&$b)
{
$b = $x.$y.$a.$b;
};
$c('h','d');
echo $b; //hdgoodluck
?>