3v4l.org

run code in 300+ PHP versions simultaneously
<?php function array_map_via_callback($f, $a) { $o = []; $c = function ($v) use (&$o) { $o[] = $v; }; foreach ($a as $k => $v) $f($v, $c); return $o; } // Mapping $x => $x ^ 2 function forClassicMap($x) { return $x * $x; } $mapped1 = array_map('forClassicMap', [1, 2, 3]); // Mapping $x => $x ^ 2 via callback function forMapViaCallback($x, $callback) { $callback($x * $x); } $mapped2 = array_map_via_callback('forMapViaCallback', [1, 2, 3]); var_dump($mapped1, $mapped2);
Output for 5.6.38, 7.0.0 - 7.0.31, 7.1.0 - 7.1.23, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
array(3) { [0]=> int(1) [1]=> int(4) [2]=> int(9) } array(3) { [0]=> int(1) [1]=> int(4) [2]=> int(9) }
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array(3) { [0]=> int(1) [1]=> int(4) [2]=> int(9) } array(3) { [0]=> int(1) [1]=> int(4) [2]=> int(9) }

preferences:
187.2 ms | 402 KiB | 208 Q