未定义的函数codeigniter

时间:2015-10-23 09:15:33

标签: php codeigniter

当我调用search_array函数时,我收到此错误:

Call to undefined function search_array()

即使我公开所有功能,它也不起作用。这怎么可能?

 function search_array($needle, $haystack) {
     if(in_array($needle, $haystack)) {
          return true;
     }
     foreach($haystack as $element) {
          if(is_array($element) && search_array($needle, $element))
               return true;
     }
   return false;
}

public function do(){
   $excist = $this->search_array($test[2], $allValuta);
}

3 个答案:

答案 0 :(得分:1)

将您的代码修改为:

function search_array($needle, $haystack) {
     if(in_array($needle, $haystack)) {
          return true;
     }
     foreach($haystack as $element) {
          if(is_array($element) && $this->search_array($needle, $element))
               return true;
     }
   return false;
}

public function do(){
   $excist = $this->search_array($test[2], $allValuta);
}

告诉我它是否有效。

答案 1 :(得分:0)

在codeigniter中,要调用函数,您应该使用$this->。因此,请将$this->添加到search_array()

像这样,

if(is_array($element) && search_array($needle, $element))

f(is_array($element) && $this->search_array($needle, $element))
                        ^     ^

答案 2 :(得分:0)

你在课堂上吗? 如果没有,您正在定义功能 search_array()。 所以你不应该用** $ this-> ** search_array(...)来调用它,这个方案是用于类的方法。

简而言之:删除 $ this->