PHP 有很多標準的函數(shù)和結構。還有一些函數(shù)需要和特定地 PHP 擴展模塊一起編譯,否則在使用它們的時候就會得到一個致命的“未定義函數(shù)”錯誤。例如,要使用 image 函數(shù)中的 imagecreatetruecolor(),需要在編譯 PHP 的時候加上 GD 的支持?;蛘?,要使用 mysqli_connect() 函數(shù),就需要在編譯 PHP 的時候加上 MySQLi 支持。有很多核心函數(shù)已包含在每個版本的 PHP 中如字符串和變量函數(shù)。調用 phpinfo() 或者 get_loaded_extensions() 可以得知 PHP 加載了那些擴展庫。同時還應該注意,很多擴展庫默認就是有效的。PHP 手冊按照不同的擴展庫組織了它們的文檔。請參閱配置,安裝以及各自的擴展庫章節(jié)以獲取有關如何設置 PHP 的信息。
手冊中如何閱讀函數(shù)原型講解了如何閱讀和理解一個函數(shù)的原型。確認一個函數(shù)將返回什么,或者函數(shù)是否直接作用于傳遞的參數(shù)是很重要的。例如,str_replace() 函數(shù)將返回修改過的字符串,而 usort() 卻直接作用于傳遞的參數(shù)變量本身。手冊中,每一個函數(shù)的頁面中都有關于函數(shù)參數(shù)、行為改變、成功與否的返回值以及使用條件等信息。了解這些重要的(常常是細微的)差別是編寫正確的 PHP 代碼的關鍵。
注意: 如果傳遞給函數(shù)的參數(shù)類型與實際的類型不一致,例如將一個 array 傳遞給一個 string 類型的變量,那么函數(shù)的返回值是不確定的。在這種情況下,通常函數(shù)會返回
null
。但這僅僅是一個慣例,并不一定如此。從 PHP 8.0.0 起,這種情況下應拋出 TypeError 異常。