隨著版本的升高,PHP的功能也越來越完善,可用的擴展庫和函數也越來越多,因此,我們寫程序時也要考慮版本的兼容問題,同時還要考慮服務器(特別是虛擬主機)是否安裝了擴展庫。
本文介紹的函數其實是PHP手冊上本來就有的,但是由於這些函數獨立性較強,查找不易,所以單獨介紹一下,方便查閱。
1. 獲取所有可用的模塊 - get_loaded_extensions 該函數返回所有已經加載的(可用的)模塊。
用法:
print_r(get_loaded_extensions());
2. 獲取指定模塊的可用函數 - get_extension_funcs 該函數返回指定模塊所有可用的函數。傳入的參數(模塊名稱)必須是小寫
用法:
print_r(get_extension_funcs("gd"));
3. 獲取所有已經定義的函數 - get_defined_functions 該函數返回所有已經定義的函數,包括內置函數和用戶自定義函數。
用法:
function myrow($id, $data){
return "<tr><th>$id</th><td>$data</td></tr>
";
}
$arr = get_defined_functions();
print_r($arr);
輸出:
Array
(
[internal] => Array
(
[0] => zend_version
[1] => func_num_args
[2] => func_get_arg
[3] => func_get_args
[4] => strlen
[5] => strcmp
[6] => strncmp
...
[750] => bcscale
[751] => bccomp
)
[user] => Array
(
[0] => myrow
)
)
其中 $arr["internal"] 是內置函數, $arr["user"] 是用戶自定義函數。
4. 檢查指定函數是否存在 - function_exists 該函數返回指定函數是否已經定義。
用法:
if (function_exists(imap_open)) {
echo "IMAP functions are available.<br />
";
} else {
echo "IMAP functions are not available.<br />
";
}