2024 年 PHP Conference Japan

如何閱讀函式定義(原型)

手冊中的每個函式都有文件可供快速參考。知道如何閱讀和理解文字將使學習 PHP 變得更加容易。每個人都應該知道如何閱讀函式定義(原型),而不是依賴範例或複製/貼上。讓我們開始吧

注意 先決條件:對類型有基本了解

雖然 PHP 是一種弱類型語言,但對類型有基本了解非常重要,因為它們具有重要的意義。

函式定義告訴我們回傳值的類型。讓我們以 strlen() 的定義作為我們的第一個範例

strlen

(PHP 4, PHP 5, PHP 7)
strlen -- Get string length

Description
strlen ( string $string ) : int

Returns the length of given string.

函式定義說明
部分 描述
strlen 函式名稱
(PHP 4, PHP 5, PHP 7) strlen() 在 PHP 4、5 和 7 的所有版本中都存在。
( string $string ) 這個函式的第一個(在本例中也是唯一一個)參數/引數名為 string,它是一個 字串
int 此函式返回的值的類型,是一個 整數(即字串的長度以數字衡量)。

我們可以用通用的方式重寫上述函式定義

      function name    ( parameter type   parameter name ) : returned type

許多函式接受多個參數,例如 in_array()。它的原型如下

      in_array ( mixed $needle, array $haystack , bool $strict = false ) : bool

這是什麼意思? in_array() 返回一個 布林值,成功時返回 true(如果在 haystack 中找到 needle),失敗時返回 false(如果在 haystack 中找不到 needle)。第一個參數名為 needle,它可以是許多不同的 類型,所以我們稱之為「混合」。這個混合的 needle(我們正在尋找的)可以是一個純量值(字串、整數或 浮點數),或者是一個 陣列haystack(我們正在搜尋的陣列)是第二個參數。第三個選用參數名為 strict。所有選用參數都有預設值;如果預設值未知,則顯示為 ?。手冊指出 strict 參數預設為布林值 false。有關它們如何工作的詳細資訊,請參閱每個函式的手冊頁面。

此外,在函式參數前加上 &(and 符號)允許通過 引用 傳遞參數,如下所示

       preg_match ( string $pattern , string $subject , array &$matches = null,
       int $flags = 0 , int $offset = 0 ) : int|false

在此範例中,我們可以看到第三個選用參數 &$matches 將作為引用傳遞。

也有一些函式具有更複雜的 PHP 版本資訊。以 html_entity_decode() 為例

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

這表示此函式僅在 PHP 4.3.0 以後的發行版本中可用。

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top