public function where(callable $filter) { $filtered = []; foreach ($this->array as $key => $value) { if ($filter($key, $value) === true) { $filtered[$key] = $value; } } return $filtered; }
public function testWhere() { $data = []; $a = new ArrayWrapper(['value1' => 1, 'value2' => 2]); $filtered = $a->where(function ($key, $value) { return $value > 1; }); $this->assertCount(1, $filtered); }