文檔中的每個函數都只是快速參考,學會如何閱讀和理解文檔將使得 PHP 的使用更加簡單。和依賴賴于復制/粘貼范例比起來,用戶一定更希望知道如何閱讀函數的定義(函數原型):
注意: 先決條件,對變量類型的基本理解
盡管 PHP 是一種松散類型語言,但變量類型有重要的意義,需要理解它的基本知識。
函數定義告訴我們函數返回什么類型的值,讓我們用函數 strlen() 的定義作為第一個范例:
strlen (PHP 4, PHP 5, PHP 7) strlen -- Get string length 說明 strlen ( string $string ) : int 返回給定的字符串 string 的長度。
組成部分 | 說明 |
---|---|
strlen | 函數名稱。 |
(PHP 4, PHP 5, PHP 7) | strlen() 在 PHP 4, PHP 5 和 PHP 7 的所有版本中都存在。 |
( string $string ) |
第一個(本例中是唯一的)參數,在該函數中名為 string ,且類型為 string。
|
int | 該函數返回的值的類型,這里為整型 int(即以數字來衡量的字符串的長度)。 |
可以將以上函數的定義寫成一般形式:
函數名 ( 參數類型 參數名 ) 返回類型 function name ( parameter type parameter name ) : returned type
很多函數都有多個變量,例如 in_array()。其函數原型如下:
in_array ( mixed $needle, array $haystack , bool $strict = false ) : bool
這是什么意思?in_array()
返回一個“布爾”值,成功(如果在參數
haystack
中能找到參數
needle
)則返回 true
,
或者在失敗時返回 false
(如果在參數 haystack
中找不到參數
needle
)。第一個參數被命名為
needle
且其類型不定,因此我們將其稱為“混和”類型。該混和類型的
needle
參數(我們要找的對象)可以是一個標量的值(字符串、整數、或者浮點數),或者一個數組。haystack
(我們尋找的范圍)是第二個參數。第三個可選參數被命名為
strict
。所有的可選參數都用
[ 方括號 ] 括起來。手冊表明
strict
參數默認值為布爾值
false
。需要了解函數工作的細節(jié),請參閱手冊中和該函數相關的頁面。
函數參數前的 & 符號使參數以 引用 方式傳遞,如下所見:
preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) : int
在這個例子中,我們可以看到,第三個可選參數 &$matches
會意引用方式傳遞。
有的函數包含更復雜的 PHP 版本信息。我們拿 html_entity_decode() 舉例:
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
它意味著該函數只可在 PHP 4.3.0 及以后發(fā)布的版本中使用。