如何在类中使用php函数“array_diff_uassoc”?

时间:2010-07-22 06:49:57

标签: php arrays

以下是一个示例类:


class A{
    .
    .
    .
    public function updateAction(){
        $tags=explode(' ',$taglist);
        .
        .
        .
        $tagsInDb=$tagsInDb->toArray();
        $dif=array_diff_uassoc($tags,$tagsInDb,"here the callback should be inserted");
    }
    protected function callback_function_for_array_diff($a,$b){
    }
}

如何将callback_function_for_array_diff作为array_diff_uassoc的回调函数调用?

2 个答案:

答案 0 :(得分:2)

这里描述了指定回调的不同类型:

http://www.php.net/manual/en/function.call-user-func.php

由于你没有静态函数,你需要一个类的实例,即$ this

因此,您可以将回调指定为array($this, callback_function_for_array_diff)

或者你做了

static function callback_function_for_array_diff($a,$b){

然后是"A::callback_function_for_array_diff"array("A","callback_function_for_array_diff")

答案 1 :(得分:0)

使用

array("class_name","func name")

 $dif=array_diff_uassoc($tags,$tagsInDb,array($this,"callback_function_for_array_diff"));