In PHP, how do I check if a function exists?

PhpFunction

Php Problem Overview


How can I check if the function my_function already exists in PHP?

Php Solutions


Solution 1 - Php

Using function_exists:

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

Solution 2 - Php

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

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

}
 ?>

Solution 3 - Php

var_dump( get_defined_functions() );

DISPLAYS all existing functions

Solution 4 - Php

I want to point out what kitchin has pointed out on 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() {}

If you want to prevent a fatal error and define a function only if it has not been defined, you need to do the following:

<?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() {}
} 

Solution 5 - Php

And if my_function is in namespace:

namespace MyProject;

function my_function() {
    return 123;
}

You can check if it exists

function_exists( __NAMESPACE__ . '\my_function' );

in the same namespace or

function_exists( '\MyProject\my_function' );

outside of the namespace.

P.S. I know this is a very old question and PHP documentation improved a lot since then, but I believe people still taking a peek here, and this might be helpful.

Solution 6 - Php

Checking Multiple function_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 does not exist <br/>";
  }
}
function fun1(){
}

Output

fun2 function does not exist 
fun3 function does not exist 

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionbradgView Question on Stackoverflow
Solution 1 - PhpMark ElliotView Answer on Stackoverflow
Solution 2 - PhpAvinash SainiView Answer on Stackoverflow
Solution 3 - PhpT.ToduaView Answer on Stackoverflow
Solution 4 - PhpSeanDowneyView Answer on Stackoverflow
Solution 5 - PhpAvag SargsyanView Answer on Stackoverflow
Solution 6 - PhpRam PukarView Answer on Stackoverflow