3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class Test { public function data($query) { $data = null; for ($i = 1; $i <= 100000; $i++) { $data = $this->format($this->search($this->factory(), $query)); } return var_dump($data); } protected function factory() { return array( 'hello world', 'test 123', 'laravel', 'php', 'twitter', 'liquid', 'twekkisd', 'tekkit', 'minecrtafspeltwrong', 'minecraft', 'java', 'hhvm', 'qwertuop', 'qwerty', 'abc', 'coffee', 'dsmg', 'admin@dsmg.co.uk', 'graham@dsmg.co.uk' ); } protected function search($data, $query) { foreach ($data as $key => $value) { if (strpos($value, $query) === false) { unset($data[$key]); } } return $data; } protected function format($data) { $new = array(); foreach($data as $value) { $tmp = new stdClass; $tmp->val = $value; $new[] = $tmp; } return $new; } } $test = new Test; $test->data('123');

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for Typed properties v2
array(1) { [0]=> object(stdClass)#3 (1) { ["val"]=> string(8) "test 123" } }
Output for Array change keys
array(1) { [0]=> object(stdClass)#3 (1) { ["val"]=> string(8) "test 123" } }
Output for Lexical anon
array(1) { [0]=> object(stdClass)#3 (1) { ["val"]=> string(8) "test 123" } }

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