Ejemplo n.º 1
0
 /**
  * This method will retain only those elements not in the specified array.
  *
  * @access public
  * @param \Traversable $values                              an array of elements that are to be retained
  * @return boolean                                          whether any elements were retained
  */
 public function retainValues($values)
 {
     $this->assertNotTraversable($values);
     $elements = array();
     foreach ($values as $value) {
         $serialization = (string) serialize($value);
         foreach ($this->elements as $key => $temp) {
             Core\DataType::enforce('integer|string', $key);
             if ((string) serialize($temp) == $serialization) {
                 $elements[$key] = $temp;
             }
         }
     }
     $this->elements = $elements;
     return !$this->isEmpty();
 }