3v4l.org

run code in 300+ PHP versions simultaneously
<?php function gdr_encode($val) { $bin = ''; while ($val > 0) { $bin .= chr($val & 0xFF); $val >>= 8; } return str_replace(array('/', '='), array('_', ''), base64_encode($bin)); } function gdr_decode($str) { $bin = base64_decode(str_replace('_', '/', $str)); $val = 0; for ($i=strlen($bin)-1; $i>=0; $i--) { $val |= ord($bin[$i]) << $i*8; } return $val; } // seed rng for consistent values if (phpversion() < '5.2.1') { die('old rng'); } mt_srand(42); for ($i=0; $i<63; $i++) { $val = 1<<$i; $val += mt_rand(0, $val/2); $enc = gdr_encode($val); $dec = gdr_decode($enc); if ($val === $dec) { echo "$enc $val\n"; } else { echo "$enc $valĀ ERROR: gdr_decode($enc) == $dec\n"; } }
Output for 7.2.0
AQ 1 Aw 3 BQ 5 DA 12 EA 16 Jg 38 WQ 89 uw 187 QAE 320 EQI 529 KAQ 1064 cgg 2162 tBU 5556 Ky0 11563 oUo 19105 wpc 38850 oXgB 96417 1cYC 181973 9uMF 386038 2nYI 554714 7QUV 1377773 Tfwg 2161741 P_tL 4979519 dOaU 9758324 QfQaAQ 18543681 rfxEAg 38075565 CttbBA 73128714 gQkzCA 137562497 uhSMFg 378279098 EpnzLg 787716370 nEQTXg 1578321052 ytHijQ 2380452298 _BjPAQE 4325316860 bnhTlwI 11128764526 wqIQYQQ 18808349378 8LA0Pwo 44010090736 Kox7BxE 73139981354 3mqb9Cs 188787419870 8JeoOE8 340252989424 u_deFb0 812107364283 KIm8nC4B 1299709724968 mem1YTIC 2415410932121 hDJz+zYE 4634193375876 2ttXdz8L 12367213091802 X5Ej3IIU 22552271622495 BuoerjIv 51894716131846 DY5ScxRY 96844857380365 dRJlA6a4 203023161037429 hDwy8YMpAQ 327121640766596 2rAykDupAg 749023240827098 gECqYvEgBQ 1443595998085248 20kWBAgrCw 3143538172119515 YdgbOzQKEQ 4796294050338913 ac2zPVPlKQ 11792619725376873 Nljqrm7VTQ 21908244564432950 L70onMblvQ 53451411784514863 CkJM1fzpQwE 91173689597116938 GqBhLK6vzQI 202010720905306138 3IscZM04yQQ 344869301269597148 IQanLqNnPwo 738422814472078881 bl1fwWcPmxE 1268624658335227246 +QPXbAFMzC8 3444211384036295673 Mao7NYUtI0U 4981875662948903473
Output for 7.1.0 - 7.1.7
AQ 1 Aw 3 BQ 5 DA 12 EA 16 Jg 38 WQ 89 uw 187 QAE 320 EQI 529 KAQ 1064 cgg 2162 tBU 5556 Ky0 11563 oUo 19105 wpc 38850 oXgB 96417 1cYC 181973 9uMF 386038 2nYI 554714 7QUV 1377773 Tfwg 2161741 P_tL 4979519 dOaU 9758324 QfQaAQ 18543681 rfxEAg 38075565 CttbBA 73128714 gQkzCA 137562497 uhSMFg 378279098 rJMBLg 771855276 E5nzTg 1324587283 nkQTng 2652062878 y9HiTQE 5601677771 3SLB6QI 12511683293 bWasbQQ 19019884141 WiMUSQg 35585794906 _2_XixI 79655563263 CgpQHS4 198060280330 nGtqSl8 409270381468 pcPkWbs 804667048869 79JJdA4B 1161592165103 sxjqyL0C 3014142859443 7arOMr0F 6310159362797 9WOMg2sL 12556396422133 nwSJl_MU 23036451947679 prTcC_gl 41747281130662 Ci6Bm+RN 85644256816650 cr+kK4ai 178697141534578 _1GmEEhrAQ 399432237863423 Hibq8hFVAg 656485531657758 oTAz91giBA 1163665406636193 5fzyzg2oCw 3281002003889381 sx77TfmnEg 5251238777790131 8wkBGVldJg 10798686367975923 e+Mpr4HbWw 25855572916691835 eNStcFvYsw 50621908075271288 aeQ9H7tbagE 101994800810419305 YOnDfqu9KAI 155582731408107872 RK_NCAdDTAU 381753765911179076 wjjJ6CKgYQg 603939896839190722 l2c_QlCMHBQ 1449187456443180951 ZQ+bqTEGpy4 3361662457224040293 +0vMT4NdX0E 4710586553813715963
Output for 5.2.1 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28, 7.0.0 - 7.0.20
AQ 1 Aw 3 Bg 6 DA 12 Eg 18 Iw 35 TQ 77 mQ 153 FAE 276 cgI 626 swU 1459 nAs 2972 dxA 4215 sCg 10416 ZUQ 17509 _6o 43775 8UwB 85233 kyQC 140435 p5cE 300967 g5oK 694915 KCoQ 1059368 cg4v 3083890 gQlf 6228353 OzWu 11416891 j8YVAQ 18204303 _kTwAg 49300734 trdsBA 74233782 jpP6Cw 200971150 pmB0EQ 292839590 lWcJIA 537487253 InPeRQ 1172206370 kyshmA 2552310675 5WjxJgE 4948322533 1KcCYgI 10234275796 KOCsDAU 21687492648 8GM8Bwg 34481136624 UJefdBM 83560994640 gLV2XiA 139023791488 AMa_UUk 314904135168 gHbolaE 694004774528 AGvHGjEB 1310414301952 AP5JXWYC 2638675049984 AFC9a0cE 4704796758016 AEi0ltUL 13011984336896 ALC58KIV 23789567586304 AGAF_n0g 35725504765952 AEAkwWtU 92821778612224 AIB4Q0Cx 194889567993856 AABegGA6AQ 345661121626112 AABQEabpAg 819849417719808 AACEQC1vBA 1248140053446656 AADwLjp5Cg 2948040569651200 AACQke6YEQ 4953225015853056 AACgdpAeJg 10729654929326080 AABAm2amTw 22419482781679616 AACAPEHtvg 53741110018703360 AAAA6cifNAE 86869978078248960 AAAA+MV9dwI 177748999527202816 AAAABFnIFwQ 294924585260810240 AAAAkDeUcAs 824321698168832000 AAAAkHlA3BQ 1503147266486042624 AAAAoIb0CyU 2669496063194300416 AAAAgALvdEU 5004887879931920384
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0
old rng

preferences:
145.82 ms | 402 KiB | 175 Q