3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class Thesaurus { protected $synonyms = array( array('wonderful', 'great', 'amazing', 'fabulous'), array('look', 'see', 'observe') ); public function replace($word) { foreach ($this->synonyms as $synonym) { if (in_array($word, $synonym)) { return $synonym[ array_rand($synonym) ]; } } return $word; } } class Transformer { protected $thesaurus; public function __construct(Thesaurus $thesaurus) { $this->thesaurus = $thesaurus; } public function transform($string) { foreach (str_word_count($string) as $word) { $string = str_replace($word, $thesaurus->replace($word), $string); } return $string; } } $transformer = new Transformer(new Thesaurus); echo $transformer->transform('This is my wonderful description. It really is wonderful. Look how wonderful it is.'), PHP_EOL;
Output for 5.0.2 - 5.6.28, 7.0.0 - 7.1.0
Warning: Invalid argument supplied for foreach() in /in/D0QaG on line 26 This is my wonderful description. It really is wonderful. Look how wonderful it is.
Output for hhvm-3.10.0 - 3.12.0
Warning: Invalid argument supplied for foreach() in /in/D0QaG on line 28 This is my wonderful description. It really is wonderful. Look how wonderful it is.
Output for 5.0.0 - 5.0.1
Warning: Invalid argument supplied for foreach() in /in/D0QaG on line 26 This is my wonderful description. It really is wonderful. Look how wonderful it is. Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/D0QaG on line 34 PHP_EOL
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/D0QaG on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/D0QaG on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/D0QaG on line 3
Process exited with code 255.