3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface FilterInterface { public function filter($value); } class StringTrimFilter implements FilterInterface { public function filter($value) { return trim($value); } public function __invoke(&$value) { $value = $this->filter($value); } } $array = array( ' string 1 ', 'string 2', 'string 3 ', ); foreach (new CallbackFilterIterator(new ArrayIterator($array), new StringTrimFilter()) as $value) { var_dump($value); }
Output for git.master, git.master_jit, rfc.property-hooks
Warning: StringTrimFilter::__invoke(): Argument #1 ($value) must be passed by reference, value given in /in/TruQK on line 23 Warning: StringTrimFilter::__invoke(): Argument #1 ($value) must be passed by reference, value given in /in/TruQK on line 23 Warning: StringTrimFilter::__invoke(): Argument #1 ($value) must be passed by reference, value given in /in/TruQK on line 23

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
47.84 ms | 402 KiB | 8 Q