溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

復(fù)習(xí)PHP-語言參考-函數(shù)

發(fā)布時(shí)間:2020-07-11 10:34:01 來源:網(wǎng)絡(luò) 閱讀:260 作者:qzd1989 欄目:web開發(fā)

1.函數(shù)和類的作用域比較奇怪,是全局的。

<?php
function foo()
{
    function bar()
    {
        echo "hello world!";
    }
}
foo();
bar(); //right!
?>

PHP里的函數(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
?>

向AI問一下細(xì)節(jié)

免責(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)容。

AI