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