Array_filter dans le contexte d'un objet, avec rappel privée
Je veux filtrer un tableau en utilisant la array_filter fonction. Il fait allusion à l'aide de call_user_func sous l'eau, mais ne mentionne rien sur la façon d'utiliser dans le contexte d'une classe/objet.
Certains pseudo-code pour expliquer mon objectif:
class RelatedSearchBlock {
//...
private function get_filtered_docs() {
return array_filter($this->get_docs(), 'filter_item');
}
private filter_item() {
return ($doc->somevalue == 123)
}
}
Aurais-je besoin de changer 'filter_item'
en array($this, 'filter_item')
? Est ce que je veux possible?
OriginalL'auteur berkes | 2011-11-23
Vous devez vous connecter pour publier un commentaire.
Oui:
Voir le documentation pour le
callback
type.array($this, 'filter_item')
avecarray(__CLASS__, 'filter_item')
.Sera le filter_item() appelée méthode sur l'objet qui appelle array_filter(), ou sur chaque objet $this->get_docs()?
Essentiellement,
$this->filter_item($doc)
sera appelée pour chaque élément retourné à partir deget_docs()
.tout ce que je suis en train de lire est deceze php réponses aujourd'hui, dieu merci, vous êtes sur ce site, homme, sérieusement..
OriginalL'auteur