3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); $processor = compose( htmlentities(...), str_split(...), fn ($x) => array_map(strtoupper(...), $x), fn ($x) => array_filter($x, fn ($v) => $v != 'O'), ); $data = "Hello World!"; var_dump( $data, $processor($data), ); // polyfill function compose(...$calls): Closure { $next = fn ($data) => $data; foreach ($calls as $prev) { $next = fn ($data) => $prev($next($data)); } return $next; }
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
string(12) "Hello World!" array(10) { [0]=> string(1) "H" [1]=> string(1) "E" [2]=> string(1) "L" [3]=> string(1) "L" [5]=> string(1) " " [6]=> string(1) "W" [8]=> string(1) "R" [9]=> string(1) "L" [10]=> string(1) "D" [11]=> string(1) "!" }

preferences:
48.05 ms | 407 KiB | 5 Q