В PHP, как проверить, существует ли функция?

Как проверить, существует ли функция my_function в PHP?

Использование function_exists :

 if(function_exists('my_function')){ // my_function is defined } 

http://php.net/manual/en/function.function-exists.php

 <?php if (!function_exists('myfunction')) { function myfunction() { //write function statements } } ?> 
 print_r(get_defined_functions()); 

Отображает все существующие функции

Я хочу указать на то, что kitchin указал на php.net:

 <?php // This will print "foo defined" if (function_exists('foo')) { print "foo defined"; } else { print "foo not defined"; } //note even though the function is defined here, it previously was told to have already existed function foo() {} 

Если вы хотите предотвратить фатальную ошибку и определить функцию, только если она не была определена, вам необходимо сделать следующее:

 <?php // This will print "defining bar" and will define the function bar if (function_exists('bar')) { print "bar defined"; } else { print "defining bar"; function bar() {} } 

Проверка нескольких функций_exists

 $arrFun = array('fun1','fun2','fun3'); if(is_array($arrFun)){ $arrMsg = array(); foreach ($arrFun as $key => $value) { if(!function_exists($value)){ $arrMsg[] = $value; } } foreach ($arrMsg as $key => $value) { echo "{$value} function is does not exist <br/>"; } } function fun1(){ } Output fun2 function is does not exist fun3 function is does not exist