3v4l.org

run code in 300+ PHP versions simultaneously
<?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, 1) as $word) { $string = str_replace($word, $this->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.4, 5.1.2, 5.1.4, 5.2.1 - 5.2.2, 5.2.8, 5.2.10, 5.3.0, 5.3.3 - 5.3.5, 5.3.7 - 5.3.8, 5.3.12 - 5.3.13, 5.3.17, 5.3.19, 5.3.25, 5.3.29, 5.4.3, 5.4.6, 5.4.11 - 5.4.12, 5.4.14 - 5.4.15, 5.4.17, 5.4.20 - 5.4.21, 5.4.25, 5.4.30, 5.4.37, 5.4.40, 5.4.44 - 5.4.45, 5.5.1, 5.5.4, 5.5.6, 5.5.19, 5.5.21, 5.5.26 - 5.5.27, 5.5.29, 5.5.34, 5.6.0 - 5.6.1, 5.6.4 - 5.6.5, 5.6.9 - 5.6.10, 5.6.12, 5.6.15 - 5.6.17, 5.6.19, 5.6.21 - 5.6.28, 7.0.1, 7.1.6, 7.2.2, 7.2.5 - 7.2.7, 7.2.10 - 7.2.11, 7.3.1
This is my amazing description. It really is amazing. Look how amazing it is.
Output for 5.0.3, 5.0.5, 5.1.1, 5.1.3, 5.1.5, 5.2.0, 5.2.3 - 5.2.4, 5.2.6, 5.2.9, 5.2.14 - 5.2.15, 5.2.17, 5.3.10, 5.3.15, 5.3.18, 5.3.22, 5.3.28, 5.4.0, 5.4.2, 5.4.4, 5.4.9, 5.4.13, 5.4.18 - 5.4.19, 5.4.22, 5.4.26 - 5.4.27, 5.4.32 - 5.4.34, 5.4.41, 5.4.43, 5.5.3, 5.5.7 - 5.5.13, 5.5.20, 5.5.23, 5.5.28, 5.5.32 - 5.5.33, 5.6.3, 5.6.6, 5.6.8, 5.6.11, 5.6.18, 5.6.20, 7.0.0, 7.0.6, 7.0.14 - 7.0.20, 7.1.0 - 7.1.5, 7.1.7, 7.2.1, 7.2.3 - 7.2.4, 7.2.8 - 7.2.9, 7.2.12, 7.3.0
This is my great description. It really is great. Look how great it is.
Output for 5.0.2, 5.1.0, 5.1.6, 5.2.5, 5.2.7, 5.2.11 - 5.2.13, 5.2.16, 5.3.1 - 5.3.2, 5.3.6, 5.3.9, 5.3.11, 5.3.14, 5.3.16, 5.3.20 - 5.3.21, 5.3.23 - 5.3.24, 5.3.26 - 5.3.27, 5.4.5, 5.4.7 - 5.4.8, 5.4.10, 5.4.16, 5.4.23 - 5.4.24, 5.4.28, 5.4.31, 5.4.35 - 5.4.36, 5.4.39, 5.4.42, 5.5.2, 5.5.5, 5.5.14 - 5.5.18, 5.5.22, 5.5.24 - 5.5.25, 5.5.30 - 5.5.31, 5.5.35, 5.6.2, 5.6.7, 5.6.13 - 5.6.14, 7.0.2 - 7.0.5, 7.1.25, 7.2.0, 7.2.13
This is my fabulous description. It really is fabulous. Look how fabulous it is.
Output for 5.4.1, 5.4.29, 5.4.38, 5.5.0, 7.0.12
This is my wonderful description. It really is wonderful. Look how wonderful it is.
Output for 5.0.1
This is my amazing description. It really is amazing. Look how amazing it is. Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/etsS2 on line 34 PHP_EOL
Output for 5.0.0
This is my fabulous description. It really is fabulous. Look how fabulous it is. Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/etsS2 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/etsS2 on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/etsS2 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/etsS2 on line 3
Process exited with code 255.

preferences:
186.14 ms | 401 KiB | 222 Q