內(nèi)部(內(nèi)置)函數(shù)

PHP 有很多標(biāo)準(zhǔn)的函數(shù)和結(jié)構(gòu)。還有一些函數(shù)需要和特定地 PHP 擴(kuò)展模塊一起編譯,否則在使用它們的時(shí)候就會(huì)得到一個(gè)致命的“未定義函數(shù)”錯(cuò)誤。例如,要使用 image 函數(shù)中的 imagecreatetruecolor(),需要在編譯 PHP 的時(shí)候加上 GD 的支持?;蛘撸褂? mysqli_connect() 函數(shù),就需要在編譯 PHP 的時(shí)候加上 MySQLi 支持。有很多核心函數(shù)已包含在每個(gè)版本的 PHP 中如字符串變量函數(shù)。調(diào)用 phpinfo() 或者 get_loaded_extensions() 可以得知 PHP 加載了那些擴(kuò)展庫(kù)。同時(shí)還應(yīng)該注意,很多擴(kuò)展庫(kù)默認(rèn)就是有效的。PHP 手冊(cè)按照不同的擴(kuò)展庫(kù)組織了它們的文檔。請(qǐng)參閱配置,安裝以及各自的擴(kuò)展庫(kù)章節(jié)以獲取有關(guān)如何設(shè)置 PHP 的信息。

手冊(cè)中如何閱讀函數(shù)原型講解了如何閱讀和理解一個(gè)函數(shù)的原型。確認(rèn)一個(gè)函數(shù)將返回什么,或者函數(shù)是否直接作用于傳遞的參數(shù)是很重要的。例如,str_replace() 函數(shù)將返回修改過(guò)的字符串,而 usort() 卻直接作用于傳遞的參數(shù)變量本身。手冊(cè)中,每一個(gè)函數(shù)的頁(yè)面中都有關(guān)于函數(shù)參數(shù)、行為改變、成功與否的返回值以及使用條件等信息。了解這些重要的(常常是細(xì)微的)差別是編寫(xiě)正確的 PHP 代碼的關(guān)鍵。

注意: 如果傳遞給函數(shù)的參數(shù)類型與實(shí)際的類型不一致,例如將一個(gè) array 傳遞給一個(gè) string 類型的變量,那么函數(shù)的返回值是不確定的。在這種情況下,通常函數(shù)會(huì)返回 null。但這僅僅是一個(gè)慣例,并不一定如此。從 PHP 8.0.0 起,這種情況下應(yīng)拋出 TypeError 異常。