note 100148 added to class.recursivefilteriterator
| From: | RussellDias at osu1 dot php dot net | Date: | Tue, 28 Sep 2010 13:38:32 +0000 |
| Subject: | note 100148 added to class.recursivefilteriterator | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-172764@lists.php.net to get a copy of this message | ||
I had to create a filter to get values greater than a certain number in a multidimensional array.
Hope someone else finds it helpful:
<?php
class GreaterThanFilter extends RecursiveFilterIterator {
protected $limit;
public function __construct(RecursiveIterator $recursiveIter, $limit) {
$this->limit = $limit;
parent::__construct($recursiveIter);
}
public function accept() {
return $this->hasChildren() || strlen($this->current()) >= $this->limit;
}
public function getChildren() {
return new self($this->getInnerIterator()->getChildren(), $this->limit);
}
}
$iter = new RecursiveArrayIterator($array);
$filter = new GreaterThanFilter($iter, 5);
foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
echo $value . "\n";
}
?>
----
Server IP: 69.147.83.197
Probable Submitter: 124.185.18.3
----
Manual Page -- http://www.php.net/manual/en/class.recursivefilteriterator.php
Edit -- https://master.php.net/note/edit/100148
Del: integrated -- https://master.php.net/note/delete/100148/integrated
Del: useless -- https://master.php.net/note/delete/100148/useless
Del: bad code -- https://master.php.net/note/delete/100148/bad+code
Del: spam -- https://master.php.net/note/delete/100148/spam
Del: non-english -- https://master.php.net/note/delete/100148/non-english
Del: in docs -- https://master.php.net/note/delete/100148/in+docs
Del: other reasons-- https://master.php.net/note/delete/100148
Reject -- https://master.php.net/note/reject/100148
Search -- https://master.php.net/manage/user-notes.php