]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/Requests/Utility/FilteredIterator.php
Wordpress 4.6-scripts
[autoinstalls/wordpress.git] / wp-includes / Requests / Utility / FilteredIterator.php
diff --git a/wp-includes/Requests/Utility/FilteredIterator.php b/wp-includes/Requests/Utility/FilteredIterator.php
new file mode 100644 (file)
index 0000000..76a29e7
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Iterator for arrays requiring filtered values
+ *
+ * @package Requests
+ * @subpackage Utilities
+ */
+
+/**
+ * Iterator for arrays requiring filtered values
+ *
+ * @package Requests
+ * @subpackage Utilities
+ */
+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();
+               $value = call_user_func($this->callback, $value);
+               return $value;
+       }
+}