当前位置导航:炫浪网>>网络学院>>网页制作>>PHP教程

PHP 中检查库或函数是否可用的方法

  随着版本的升高,PHP的功能也越来越完善,可用的扩展库和函数也越来越多,因此,我们写程序时也要考虑版本的兼容问题,同时还要考虑服务器(特别是虚拟主机)是否安装了扩展库。

  本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。

  1. 获取所有可用的模块 – get_loaded_extensions

  该函数返回所有已经加载的(可用的)模块。

  用法:

  1. <?php   
  2. print_r(get_loaded_extensions());   
  3. ?> 

  2.获取指定模块的可用函数 – get_extension_funcs

  该函数返回指定模块所有可用的函数。

  传入的参数(模块名称)必须是小写

  用法:

  1. <?php    
  2. print_r(get_extension_funcs("gd"));   
  3. ?> 

  3. 获取所有已经定义的函数 – get_defined_functions

  该函数返回所有已经定义的函数,包括内置函数和用户自定义函数。

  用法:

  1. <?php    
  2. function myrow($id$data)    
  3. {    
  4.     return "<tr><th>$id</th><td>$data</td></tr>\n";   
  5. }    
  6.     
  7. $arr = get_defined_functions();   
  8.     
  9. print_r($arr);   
  10. ?>  

  输出:

  1. Array   
  2. (   
  3.     [internal] => Array   
  4.         (   
  5.             [0] => zend_version   
  6.             [1] => func_num_args   
  7.             [2] => func_get_arg   
  8.             [3] => func_get_args   
  9.             [4] => strlen   
  10.             [5] => strcmp   
  11.             [6] => strncmp   
  12.             ...   
  13.             [750] => bcscale   
  14.             [751] => bccomp   
  15.         )   
  16.     
  17.     [user] => Array   
  18.         (   
  19.             [0] => myrow   
  20.         )   
  21.     
  22. )  

  其中 $arr["internal"] 是内置函数, $arr["user"] 是用户自定义函数。

  4. 检查指定函数是否存在 – function_exists

  该函数返回指定函数是否已经定义。

  用法:

  1. <?php    
  2. if (function_exists('imap_open')) {    
  3.     echo "IMAP functions are available.<br />\n";   
  4. else {    
  5.     echo "IMAP functions are not available.<br />\n";   
  6. }    
  7. ?> 
相关内容
赞助商链接