<?php
class Item {
private $data;
public function __construct ($value) {$this->data = $value;}
public function __toString
() {return strval($this->data);} public function isValid() {return $this->data != 666;}
}
function foreach_with_fitler($array, $iterator, $body, $fitler) {
$$iterator = $key;
});
}
$items = array(new Item
(13), new Item
(265), new Item
(666), new Item
(1488));
function FITLER($value) {return $value->isValid();}
foreach_with_fitler($items, '$item', 'echo $item . PHP_EOL;', FITLER);
PD9waHAKCmNsYXNzIEl0ZW0gewogcHJpdmF0ZSAkZGF0YTsKIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCAoJHZhbHVlKSB7JHRoaXMtPmRhdGEgPSAkdmFsdWU7fQogcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKSB7cmV0dXJuIHN0cnZhbCgkdGhpcy0+ZGF0YSk7fQogcHVibGljIGZ1bmN0aW9uIGlzVmFsaWQoKSB7cmV0dXJuICR0aGlzLT5kYXRhICE9IDY2Njt9Cn0KCmZ1bmN0aW9uIGZvcmVhY2hfd2l0aF9maXRsZXIoJGFycmF5LCAkaXRlcmF0b3IsICRib2R5LCAkZml0bGVyKSB7CiAgQGFycmF5X3dhbGsoYXJyYXlfZmlsdGVyKCRhcnJheSwgJGZpdGxlciksIGZ1bmN0aW9uKCRpdGVtLCAka2V5KXVzZSgkaXRlcmF0b3IsICRib2R5KXsKICAgICQkaXRlcmF0b3IgPSAka2V5OwogICAgZXZhbCgkYm9keSk7CiAgfSk7Cn0KCiRpdGVtcyA9IGFycmF5KG5ldyBJdGVtKDEzKSwgbmV3IEl0ZW0oMjY1KSwgbmV3IEl0ZW0oNjY2KSwgbmV3IEl0ZW0oMTQ4OCkpOwoKZGVmaW5lKCdGSVRMRVInLCAnRklUTEVSJyk7CgpmdW5jdGlvbiBGSVRMRVIoJHZhbHVlKSB7cmV0dXJuICR2YWx1ZS0+aXNWYWxpZCgpO30KCmZvcmVhY2hfd2l0aF9maXRsZXIoJGl0ZW1zLCAnJGl0ZW0nLCAnZWNobyAkaXRlbSAuIFBIUF9FT0w7JywgRklUTEVSKTsK