Php/docs/class.callbackfilteriterator
(PHP 5 >= 5.4.0, PHP 7)
简介
类摘要
CallbackFilterIterator extends FilterIterator implements OuterIterator {
public
__construct
( Iterator $iterator
, callable $callback
)
public accept ( ) : bool
/* 继承的方法 */
public abstract FilterIterator::accept ( ) : bool
public
FilterIterator::__construct
( Iterator $iterator
)
public FilterIterator::current ( ) : mixed
public FilterIterator::getInnerIterator ( ) : Iterator
public FilterIterator::key ( ) : mixed
public FilterIterator::next ( ) : void
public FilterIterator::rewind ( ) : void
public FilterIterator::valid ( ) : bool
}
范例
The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.
Example #1 Available callback arguments
<?php/** * Callback for CallbackFilterIterator * * @param $current Current item's value * @param $key Current item's key * @param $iterator Iterator being filtered * @return boolean TRUE to accept the current item, FALSE otherwise */function my_callback($current, $key, $iterator) { // Your filtering code here}?>
Any callable may be used; such as a string containing a function name, an array for a method, or an anonymous function.
Example #2 Callback basic examples
<?php$dir = new FilesystemIterator(__DIR__);// Filter large files ( > 100MB)function is_large_file($current) { return $current->isFile() && $current->getSize() > 104857600;}$large_files = new CallbackFilterIterator($dir, 'is_large_file');// Filter directories$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) { return $current->isDir() && ! $iterator->isDot();});?>
Table of Contents
- CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments
- CallbackFilterIterator::__construct — Create a filtered iterator from another iterator
/* 方法 */