WordPress at Your Fingertips
class is not described

Requests_Utility_FilteredIterator{} WP 1.0

Iterator for arrays requiring filtered values

No Hooks.

Return

null. Nothing.

Usage

$Requests_Utility_FilteredIterator = new Requests_Utility_FilteredIterator();
// use class methods

Methods

  1. __construct($data, $callback)
  2. __unserialize($serialized)
  3. __wakeup()
  4. current()
  5. unserialize($serialized)

Notes

  • Package: Requests
  • Subpackage: Utilities

Code of Requests_Utility_FilteredIterator{} WP 5.8

<?php
class Requests_Utility_FilteredIterator extends ArrayIterator {
	/**
	 * Callback to run as a filter
	 *
	 * @var callable
	 */
	protected $callback;

	/**
	 * Create a new iterator
	 *
	 * @param array $data
	 * @param callable $callback Callback to be called on each value
	 */
	public function __construct($data, $callback) {
		parent::__construct($data);

		$this->callback = $callback;
	}

	/**
	 * Get the current item's value after filtering
	 *
	 * @return string
	 */
	public function current() {
		$value = parent::current();

		if (is_callable($this->callback)) {
			$value = call_user_func($this->callback, $value);
		}

		return $value;
	}

	/**
	 * @inheritdoc
	 */
	public function unserialize($serialized) {}

	/**
	 * @inheritdoc
	 *
	 * @phpcs:disable PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.MethodDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.NewMagicMethods.__unserializeFound
	 */
	public function __unserialize($serialized) {}

	public function __wakeup() {
		unset($this->callback);
	}
}