如何覆蓋 PHP 中的預設函數參數?

DDD
發布: 2024-11-02 10:55:31
原創
806 人瀏覽過

How to Override Default Function Arguments in PHP?

覆寫預設函數參數

使用預設參數聲明PHP 函數時,了解如何在仍使用預設值的情況下覆寫這些值非常重要為他人辯解。考慮以下函數:

<code class="php">function foo($blah, $x = "some value", $y = "some other value") {
    // code here!
}</code>
登入後複製

要使用$x 的預設參數,同時為$y 設定不同的值,以下錯誤嘗試將無法運作:

<code class="php">foo("blah", null, "test");
foo("blah", "", "test");</code>
登入後複製

因為它們不要將所需的預設值指派給$x。此外,嘗試透過變數名稱設定參數:

<code class="php">foo("blah", $x, $y = "test");</code>
登入後複製

無法產生預期結果。

要實現所需的行為,請考慮如下修改函數宣告:

<code class="php">function foo($blah, $x = null, $y = null) {
    if (null === $x) {
        $x = "some value";
    }

    if (null === $y) {
        $y = "some other value";
    }

    // code here!
}</code>
登入後複製

現在,可以透過以下變體呼叫函數,例如:

<code class="php">foo('blah', null, 'non-default y value');</code>
登入後複製

並將$x 設為預設值,同時覆寫$y。

它是需要注意的是,預設參數僅適用於函數定義中的最後一個參數。如果可選參數後面有多個預設值參數,則無法省略一個參數並指定後面的一個。

以上是如何覆蓋 PHP 中的預設函數參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板