3v4l.org

run code in 300+ PHP versions simultaneously
<?php function gdr_encode($val) { return base64_encode($val); } function gdr_decode($val) { return base64_decode($val); } $vals = array(0, 1, 99, 100, 255, 256, 999, 1000, 9999, 10000, 65535, 65536, 99999, 100000, 999999, 1000000, 4294967295, 4294967296); foreach ($vals as $val) { $enc = json_encode(gdr_encode($val)); $dec = json_encode(gdr_decode($enc)); $val = json_encode($val); if (strlen($enc) > strlen($val)) { echo "$enc $val WORSE\n"; } else if (strlen($enc) == strlen($val)) { echo "$enc $val EQUAL\n"; } else { echo "$enc $val\n"; } }
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 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.6
"MA==" 0 WORSE "MQ==" 1 WORSE "OTk=" 99 WORSE "MTAw" 100 WORSE "MjU1" 255 WORSE "MjU2" 256 WORSE "OTk5" 999 WORSE "MTAwMA==" 1000 WORSE "OTk5OQ==" 9999 WORSE "MTAwMDA=" 10000 WORSE "NjU1MzU=" 65535 WORSE "NjU1MzY=" 65536 WORSE "OTk5OTk=" 99999 WORSE "MTAwMDAw" 100000 WORSE "OTk5OTk5" 999999 WORSE "MTAwMDAwMA==" 1000000 WORSE "NDI5NDk2NzI5NQ==" 4294967295 WORSE "NDI5NDk2NzI5Ng==" 4294967296 WORSE

preferences:
331.29 ms | 405 KiB | 415 Q