在类中使用带有静态函数的array_filter时出错

时间:2010-06-24 19:58:35

标签: php class function static array-filter

我有一个班级

像这样

class im_a_class
{

 static function not_empty() {...}

 function render() { return array_filter($array,'self::not_empty') };
}

此代码适用于php 5.3.0,但在版本5.2.8中不起作用。

我必须把它拿出来并像这样使用它

function not_empty() {...}

class im_a_class
{

 function render() { return array_filter($array,'not_empty'); }

}

这种方式有效,但......

我想知道我有哪些选择。

请帮助谢谢。

2 个答案:

答案 0 :(得分:6)

你可以这样做:

return array_filter($array, array(__CLASS__, 'not_empty'));

答案 1 :(得分:1)

我很惊讶5.3.0允许这个。 self::array_filter没有任何意义,因为array_filter不属于您的班级。

您应该使用im_a_class::not_empty访问该功能(这是该功能的完全限定名称)