php检测函数是否存在函数 function_exists

如果你要判断一些函数是不是可以用我们可以使用function_exists函数来检测,下面我们来看几个例子,希望对你会有帮助.

语法:bool function_exists(string $function_name)

检查的定义的函数的列表,同时内置(内部)和用户定义的为function_name.

返回值:返回true,如果function_name存在,是一个函数,否则返回false,实例代码如下:

  1. if (function_exists('imap_open')) {
  2. echo "imap functions are available.www.phpfensi.com<br /> ";
  3. } else {
  4. echo "imap functions are not available.<br /> ";
  5. }
  6. //function_exists returns false on null and empty string:
  7. if (function_exists('')) {
  8. echo "empty string function exists ";
  9. }
  10. if (function_exists(null)) {
  11. echo "null function exists ";
  12. }

如果您使用suhosin.executor.func.blacklist而不是在你的php.ini disabled_functions,function_exists将返回true为功能,我用这个有与suhosin.executor.func.blacklist和disabled_functions相同beahviour,实例代码如下:

  1. function suhosin_function_exists($func) {
  2. if (extension_loaded('suhosin')) {
  3. $suhosin = @ini_get("suhosin.executor.func.blacklist");
  4. if (emptyempty($suhosin) == false) {
  5. $suhosin = explode(',', $suhosin);
  6. $suhosin = array_map('trim', $suhosin);
  7. $suhosin = array_map('strtolower', $suhosin);
  8. return (function_exists($func) == true && array_search($func, $suhosin) === false);
  9. }
  10. }
  11. return function_exists($func);
  12. }