如何在使用php调用函数之前检查函数是否存在

时间:2013-12-16 10:16:42

标签: php codeigniter

我试图在调用函数之前检查函数是否存在 我的代码

  function text(){ 
    for($i=0;$i<count($type);$i++){     
      $this->type=$type[$i];
        if($rec){ 
          if(function_exists($this->type)){
            $this->$type[$i]($rec);     
      }         
   }
  } 
}

我的$ type将是

Array
(
  [0] =type_1
  [1] =type_2
  [2] =type_3
  [3] =type_4
  [4] =type_5
  [5] =type_6
  [6] =type_8
)


function type_1()
{
    ////
}
function type_2()
{
    ////
}

但它不起作用..

任何帮助都是适当的。

thankx

2 个答案:

答案 0 :(得分:0)

也许你可以改变你的代码:

for($i=0;$i<count($type);$i++){     
$this->type=$type[$i];
if($rec){ 
   if(function_exists($this->type)){
        $this->$type[$i]($rec);     
  }         

} }

for($i=0;$i<count($type);$i++){     
$this->type=$type[$i];
if($rec){ 
   if(function_exists($this->type_1()){ // checks if type_1 function exists
        $this->$type[$i]($rec);     
  }         

} }

答案 1 :(得分:0)

尝试这样的事情..在这里工作

<?php
$arr = array(0=>'typefunc',1=>'newfunc');

function typefunc()
{
echo "Hello my name is typefunc()";
}

foreach($arr as $k=>$v)
{
if(function_exists($v))
{
$v();
}
}

输出:

Hello my name is typefunc()