您好,登錄后才能下訂單哦!
1.函數(shù)和類的作用域比較奇怪,是全局的。
<?phpPHP里的函數(shù)不能重載,或取消定義或重定義。
PHP里的函數(shù)可以使用遞歸,但應(yīng)避免調(diào)用超過100/200層,可能會(huì)崩潰。
2.函數(shù)的參數(shù)
PHP 在用戶自定義函數(shù)中支持可變數(shù)量的參數(shù)列表。其實(shí)很簡(jiǎn)單,只需使用 func_num_args(),func_get_arg(),和 func_get_args() 函數(shù)即可。
引用傳參時(shí),函數(shù)內(nèi)部的改變將會(huì)影響到參數(shù)原值。
3.返回值
函數(shù)內(nèi)不寫return 則默認(rèn)返回null.
從函數(shù)可以返回一個(gè)引用。
例1:
<?php
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:
<?php
$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(); 類似這樣的。
注意:當(dāng)調(diào)用靜態(tài)方法時(shí),函數(shù)調(diào)用要比靜態(tài)屬性優(yōu)先,如:
<?php
Foo::$variable; //調(diào)用類屬性
$variable = "abc";
Foo:$variable(); //調(diào)用類方法
?>
5.內(nèi)置函數(shù)
內(nèi)置函數(shù)通常隨著不同的擴(kuò)展而存在,比較有用的檢查函數(shù)是
get_extension_funcs 它可以查看該擴(kuò)展里有些啥已定義函數(shù)。
get_loaded_extensions 返回所有已經(jīng)加載的模塊名
6.匿名函數(shù)
匿名函數(shù)(Anonymous functions),也叫閉包函數(shù)(closures),允許 臨時(shí)創(chuàng)建一個(gè)沒有指定名稱的函數(shù)。最經(jīng)常用作回調(diào)函數(shù)(callback)參數(shù)的值。當(dāng)然,也有其它應(yīng)用的情況。
例1:
$a = function($b){};
$a(“def”);
例2(use巧用):
<?php
$a = "good";
$b = "luck";
$c = function ($x,$y) use ($a,&$b)
{
$b = $x.$y.$a.$b;
};
$c('h','d');
echo $b; //hdgoodluck
?>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。