PHP 8.4.2 Released!

A classe CallbackFilterIterator

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Introdução

Resumo da classe

class CallbackFilterIterator extends FilterIterator {
/* Métodos */
public __construct(Iterator $iterator, callable $callback)
public accept(): bool
/* Métodos herdados */
}

Exemplos

O callback deve aceitar até três argumentos: o item atual, a chave atual e o iterador, respectivamente.

Exemplo #1 Argumentos de callback disponíveis

<?php

/**
* Callback para CallbackFilterIterator
*
* @param $current Valor do item atual
* @param $key Chave do item atual
* @param $iterator Iterador sendo filtrado
* @return boolean TRUE para aceitar o item atual, FALSE caso contrário
*/
function my_callback($current, $key, $iterator) {
// Seu código de filtragem aqui
}

?>

Qualquer callable pode ser usado; como uma string contendo um nome de função, uma matriz para um método ou uma função anônima.

Exemplo #2 Exemplos básicos de callback

<?php

$dir
= new FilesystemIterator(__DIR__);

// Filtrar arquivos grandes ( > 100MB)
function is_large_file($current) {
return
$current->isFile() && $current->getSize() > 104857600;
}
$large_files = new CallbackFilterIterator($dir, 'is_large_file');

// Filtrar diretórios
$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) {
return
$current->isDir() && ! $iterator->isDot();
});

?>

Índice

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top