Example #1
0
 public function filter($filterer, $op = '===')
 {
     if (is_array($filterer)) {
         $ops = array('===' => function ($item) use($filterer) {
             foreach ($filterer as $property => $value) {
                 if (Collection::value($item, $property) !== $value) {
                     return false;
                 }
             }
             return true;
         }, '!==' => function ($item) use($filterer) {
             foreach ($filterer as $property => $value) {
                 if (Collection::value($item, $property) === $value) {
                     return false;
                 }
             }
             return true;
         });
         $callback = $ops[$op];
     } elseif (is_callable($filterer)) {
         $callback = $filterer;
     }
     if (isset($callback)) {
         $this->store = array_filter($this->store, $callback);
     }
     return $this;
 }