即使定义了函数,也会收到未定义的错误

时间:2014-05-01 10:15:05

标签: php

我有一个类(DaySummary *),它具有我创建的静态函数:

public static function recursive_in_array($search, $arr) {
        foreach ($arr as $item) {
            if(is_array($item))
                return recursive_in_array($search, $item);
            elseif($search == $item)
                return true;
        }
        return false;
    }

在另一个函数的代码中(不是类中的静态函数)我试着通过这样做来使用这个函数:

if(self::recursive_in_array('taanitE', $exceptions))
        echo 'it is';
    else 
        echo 'it isn"t';

但是我收到一个错误说:

  

调用未定义的函数recursive_in_array()

为什么会出现此错误?功能明确定义!

* DaySummary继承自DayAnalyzer,继承自DayData。

1 个答案:

答案 0 :(得分:2)

return recursive_in_array($search, $item);

更改为

return self::recursive_in_array($search, $item);

点击此处查看详情:http://php.net/manual/en/language.oop5.static.php