public function ArrayCollection::partition

Partitions this collection in two collections according to a predicate. Keys are preserved in the resulting collections.

Parameters

Closure $p The predicate on which to partition.:

Return value

array An array with two elements. The first element contains the collection of elements where the predicate returned TRUE, the second element contains the collection of elements where the predicate returned FALSE.

Overrides Collection::partition

File

drupal/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/ArrayCollection.php, line 416

Class

ArrayCollection
An ArrayCollection is a Collection implementation that wraps a regular PHP array.

Namespace

Doctrine\Common\Collections

Code

public function partition(Closure $p) {
  $coll1 = $coll2 = array();
  foreach ($this->_elements as $key => $element) {
    if ($p($key, $element)) {
      $coll1[$key] = $element;
    }
    else {
      $coll2[$key] = $element;
    }
  }
  return array(
    new static($coll1),
    new static($coll2),
  );
}