شرح - جميع دوال php




في PHP ، كيف أتحقق من وجود وظيفة؟ (4)

أريد أن أشير إلى ما أشار إليه 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() {}
} 

كيف يمكنني التحقق مما إذا كانت الدالة my_function موجودة بالفعل في PHP؟


باستخدام function_exists :

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

تدقيق متعددة 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 is does not exist <br/>";
  }
}
function fun1(){
}

Output

fun2 function is does not exist 
fun3 function is does not exist 

print_r(get_defined_functions());

يعرض كل الوظائف الموجودة





function