3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a='print'; $b='php_uname'; $c='system'; $d='shell_exec'; function nonalpha($string) { $str = ''; $cons = array('a' => '@ !', 'b' => '< ^', 'c' => '< _', 'd' => '? [', 'e' => '; ^', 'f' => '] ;', 'g' => ': ]', 'h' => '@ (', 'i' => ') @', 'j' => '* @', 'k' => '@ +', 'l' => ', @', 'm' => '- @', 'n' => '@ .', 'o' => '/ @', 'p' => '- ]', 'q' => '_ .', 'r' => '_ -', 's' => '- ^', 't' => '+ _', 'u' => '+ ^', 'v' => '] +', 'w' => '_ (', 'x' => '^ &', 'y' => '_ &', 'z' => '[ !', '_' => '! ~', 'A' => '{ :', 'B' => '? }', 'C' => '> }', 'D' => '` $', 'E' => '` %', 'F' => '& `', 'G' => '| ;', 'H' => '( `', 'I' => '` )', 'J' => '` J', 'K' => '` +', 'L' => '` ,', 'M' => '` -', 'N' => '` .', 'O' => '/ `', 'P' => '| ,', 'Q' => '| -', 'R' => '. |', 'S' => '| /', 'T' => '( |', 'U' => '| )', 'V' => '* |', 'W' => '* }', 'X' => '# {', 'Y' => '} $', 'Z' => '! {'); $cons_num = array('1' => "(('-'^'|')^'`')", '2' => "((','^'~')^'`')", '3' => "(('-'^'`')^'~')", '4' => "(('*'^'`')^'~')", '5' => "(('+'^'`')^'~')", '6' => "(('('^'`')^'~')", '7' => "((')'^'`')^'~')", '8' => "((':'^'|')^'~')", '9' => "((';'^'|')^'~')", '0' => "(('.'^'`')^'~')"); foreach(str_split($string) as $char) { if (!is_numeric($char)) { $bits = explode(' ', $cons[$char]); $str.= "('$bits[0]'^'$bits[1]')."; } else { $str.= "{$cons_num[$char]}."; } } return rtrim($str, '.'); } print(nonalpha($a.PHP_EOL); print(nonalpha($b).PHP_EOL); print(nonalpha($c).PHP_EOL); print(nonalpha($d.PHP_EOL);

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
5.4.250.0070.04319.25
5.4.240.0200.03319.21
5.4.230.0200.04019.16
5.4.220.0200.03719.12
5.4.210.0130.04718.83
5.4.200.0170.04019.33
5.4.190.0200.03319.16
5.4.180.0230.03719.18
5.4.170.0170.03719.21
5.4.160.0130.03719.07
5.4.150.0130.03719.29
5.4.140.0100.04316.40
5.4.130.0130.04016.34
5.4.120.0270.03316.34
5.4.110.0200.03016.58
5.4.100.0130.04016.56
5.4.90.0170.03716.62
5.4.80.0100.04016.19
5.4.70.0100.04016.28
5.4.60.0130.03716.54
5.4.50.0100.04016.21
5.4.40.0200.03016.57
5.4.30.0130.03716.27
5.4.20.0170.03316.55
5.4.10.0170.03316.31
5.4.00.0200.03015.79
5.3.280.0030.04714.60
5.3.270.0270.03314.60
5.3.260.0230.03014.63
5.3.250.0100.04314.53
5.3.240.0200.03714.74
5.3.230.0200.03314.69
5.3.220.0170.03714.59
5.3.210.0200.03714.49
5.3.200.0170.03314.57
5.3.190.0230.02714.57
5.3.180.0170.03314.63
5.3.170.0230.03714.59
5.3.160.0170.03314.49
5.3.150.0170.04014.63
5.3.140.0200.05014.55
5.3.130.0230.04014.62
5.3.120.0130.03714.46
5.3.110.0130.04014.62
5.3.100.0170.03314.04
5.3.90.0230.02714.01
5.3.80.0200.03014.11
5.3.70.0170.03714.05
5.3.60.0200.03014.25
5.3.50.0130.03713.97
5.3.40.0130.03714.08
5.3.30.0170.03314.07
5.3.20.0230.04313.78
5.3.10.0130.03713.70
5.3.00.0230.06713.57

preferences:
142.18 ms | 1394 KiB | 7 Q