10
Quiero filtrar una matriz, utilizando la función array_filter. Sugiere usar call_user_func bajo el agua, pero no menciona nada sobre cómo usarlo dentro del contexto de una clase/objeto.Array_filter en el contexto de un objeto, con devolución de llamada privada
Algunos pseudocódigo para explicar mi objetivo:
class RelatedSearchBlock {
//...
private function get_filtered_docs() {
return array_filter($this->get_docs(), 'filter_item');
}
private filter_item() {
return ($doc->somevalue == 123)
}
}
Se lo necesite cambiar 'filter_item'
en array($this, 'filter_item')
? Es lo que quiero posible en absoluto?
¡Excelente información! Si está utilizando métodos estáticos, deberá pasar el nombre de la clase con la función de filtro. Para hacer esto, puede reemplazar 'array ($ this, 'filter_item')' con 'array (__ CLASS__, 'filter_item')'. –
¿Se llamará al método filter_item() en el objeto que llama a array_filter(), o en cada objeto en $ this-> get_docs()? – Arild
@Arild Esencialmente, se llamará a '$ this-> filter_item ($ doc)' para cada elemento devuelto por 'get_docs()'. – deceze