3v4l.org

run code in 300+ PHP versions simultaneously
<?php generate(); // FUNCTION function generate() { $digilist = "0123456789ABCDEFGHJKLMNPQRTUVWXY"; //now we generate a new random ID number using the substrings of the digitList string above $three_chars = NULL; $three_chars .= substr( $digilist, rand( 1, 9 ), 1 ); $three_chars .= substr( $digilist, rand( 10, 31 ), 1 ); $three_chars .= substr( $digilist, rand( 10, 31 ), 1 ); for( $i = 22; $i < 100; $i++) { $id = $three_chars . $i; $key = get_key( $id ); echo $id . ":" . $key . "\n"; } } function get_key( $id ) { $digilist = "0123456789ABCDEFGHJKLMNPQRTUVWXY"; //ok so now we need to generate an MD5 hash of our ID $hash = md5($id); //cycle through the hash 16 (length of key) times (in steps of 2 because each hex bytes is 2 digits long) $i = 0; $key = NULL; for ($i; $i < 32; $i+=2) { //here we convert the next hex value to an integer and perform a bitwise AND operation against '31' //31 is the highest substring value in our digit list. $nextdigit = hexdec(substr($hash, $i, 2)) & 31; //if 'i' is divisable by 8 (every 4 cycles) then we want to add "-" if ((($i % 8) == 0) && ($i > 0)) { $key .= "-".substr($digilist, $nextdigit, 1); } else { $key .= substr($digilist, $nextdigit, 1); } } return $key; }
Output for git.master
8UV22:3M5Y-5DPL-Y366-YV8A 8UV23:VLJB-5ETV-859Q-3898 8UV24:UTCG-77WD-NAG7-M9FJ 8UV25:0FX4-T96W-NQNA-G4U1 8UV26:DWPP-9GX8-0K36-GF2V 8UV27:CKR3-K57N-DYDW-JU3W 8UV28:RNCV-G0WB-3M90-FUHW 8UV29:B69D-95UX-QVWX-RJH4 8UV30:G26L-56RA-3MP7-XHUD 8UV31:52DG-VC6H-GD1X-Y5N1 8UV32:JQ2A-4MCX-MRFP-VHRT 8UV33:MUUA-MEC4-1EVF-XNXU 8UV34:HXXN-UFCJ-GN7K-5U5C 8UV35:95WJ-PQDD-CRTH-7JBX 8UV36:WWC9-41W8-BCL8-J5X3 8UV37:5VGJ-F8XB-UVEY-RQ7C 8UV38:4DMH-8EKX-R5QG-XLL7 8UV39:PTHU-P5B4-FD8L-M59K 8UV40:3PVJ-54H4-0T3L-VA7U 8UV41:UKVV-DWLJ-K2T7-D8VX 8UV42:HC72-9GXC-M7BM-XTXQ 8UV43:XLCK-QWH9-Q296-543X 8UV44:UQ9D-35DQ-DCFB-14H4 8UV45:0WNQ-TPMF-R1AT-R51T 8UV46:D6KT-Y6JD-YLWN-7PWM 8UV47:V6C6-3CVR-YF6R-QA5E 8UV48:PPD5-Q05E-CAUN-NM3P 8UV49:4KG9-AW0E-X9LV-1TR4 8UV50:N9VE-7CT3-F6FL-W0PQ 8UV51:CN2H-9RUJ-NKP1-UFMM 8UV52:9LD2-LFNX-HA4E-UK9T 8UV53:1P8Q-GQDW-FP64-NXN3 8UV54:1HH6-FTJG-N7G3-0CWU 8UV55:2LE9-6N6M-R9FY-MNMR 8UV56:MBQR-0CXR-QXMV-29MB 8UV57:QVP6-5JH4-LG4T-7Q2D 8UV58:96RY-VFKV-XXTX-UFP9 8UV59:2VG5-EF25-5BTM-20G7 8UV60:LPG2-UEGE-75K7-CGL9 8UV61:GNVC-1T4C-0A0U-X4NH 8UV62:WPF4-UEY2-LDJT-EW57 8UV63:76U5-RX9L-94R4-EHTX 8UV64:23Y1-5YLQ-H492-Q0RD 8UV65:FTX5-C7GW-YA80-MRJ3 8UV66:AK5C-BT53-X54D-3ND7 8UV67:YELK-Y226-BP2V-L01P 8UV68:7YTY-V8QH-A7HM-XC4L 8UV69:WXF8-VUN7-8MWJ-4FUM 8UV70:N718-TMLL-ARH9-PHWB 8UV71:MDE2-ULRR-T6V0-EHEC 8UV72:4UDJ-KGT3-3VTX-U09M 8UV73:1EB7-9H15-7LN6-D0HT 8UV74:NUJX-3V31-8AMU-2T50 8UV75:R6HB-04Y5-1DNL-BB9X 8UV76:BU91-X638-03YN-N70D 8UV77:M8UT-W4TR-A7KA-QLN3 8UV78:NP75-CC7A-BQDU-CJCG 8UV79:52T7-Q9D0-4A9Q-4UK0 8UV80:3M1M-W073-6NED-VYHQ 8UV81:W0HP-L582-H82G-K7A9 8UV82:XWMA-ARL3-KGQP-9U1P 8UV83:5LJF-EU6L-8TNC-P5LC 8UV84:L069-WNDJ-VDFD-CTRR 8UV85:C9MM-B49H-3P1A-CC0B 8UV86:QUXM-36L5-03PG-MVD0 8UV87:FLYM-VLJQ-WL9T-KPAY 8UV88:BFEQ-76CK-AFDY-9U4P 8UV89:76XY-N9KN-FAV4-LRDY 8UV90:11A3-8881-8VPP-T7DC 8UV91:7CR7-GBNK-LXK1-29UQ 8UV92:8N7C-GP1Y-72R1-1HVL 8UV93:1RGC-UQ1D-F624-LTGH 8UV94:T9B5-78QR-PPUX-TWTJ 8UV95:XXJF-3X5A-V0QB-5KWL 8UV96:8A9F-XCFK-9ATH-HBPL 8UV97:FLHQ-TT1F-BGCD-V968 8UV98:2B1P-MY0X-WWL5-6GYY 8UV99:R505-CJ4G-U0HM-69T8
Output for git.master_jit
1LK22:HEJW-CL9U-750C-1AVX 1LK23:RN7M-DWJX-V8CU-YEBM 1LK24:JE3J-YE3T-BXYU-3H4X 1LK25:4NXT-K90P-2GH4-3XAV 1LK26:TTGG-EUTD-LDAX-CNYQ 1LK27:W08P-90KQ-3BFG-WAWX 1LK28:P467-AVFC-HYNY-KLK3 1LK29:J2L3-21Y1-CK3M-PKMR 1LK30:CBPU-MRU8-Q2Y5-VK09 1LK31:0G7V-GNBQ-9ANG-BUTR 1LK32:1T64-JGXX-DQ6N-PDDY 1LK33:L6T7-UUAB-BBQ9-NN92 1LK34:0D22-D0N0-JUKN-A0FR 1LK35:6NQE-QP4C-6LYU-N5CP 1LK36:JKHT-F6M2-6T77-9RXB 1LK37:491F-PEQQ-C8LJ-RLJU 1LK38:GAMH-31RV-49YH-MXHH 1LK39:VVT3-X3A8-20QN-P89N 1LK40:DTM8-HCHA-H2P9-DP4P 1LK41:AG11-6KGA-DHQH-UUUU 1LK42:DP8A-78KW-J8DE-N0YV 1LK43:XMDC-MC37-P1J7-UK0H 1LK44:C3D2-DWE2-XNHJ-CFN1 1LK45:5KTJ-G94H-2F3N-GLNJ 1LK46:YK1V-1QN1-3N9M-NEU4 1LK47:9G7G-59NK-HFWL-E8XP 1LK48:V8PJ-D65Q-E2DM-7FU6 1LK49:BCHJ-D5Q5-QLJG-DGMH 1LK50:6DMJ-157D-V1YE-37VT 1LK51:20NT-607R-BVP8-C10Q 1LK52:LDRX-P205-1H9R-PGG1 1LK53:NN8W-UBXP-V4LH-56AY 1LK54:RM7L-6LKM-LDQX-4W9N 1LK55:6M8V-6KV2-BNXD-QT59 1LK56:EXK4-8XKC-7TP0-20BU 1LK57:NF3L-QBWL-9AD8-1N9G 1LK58:514E-HU5U-FPWQ-C6MD 1LK59:RDYM-JD05-PTXW-1E90 1LK60:MA8X-EJGX-25R2-J7CU 1LK61:HH5W-GEMY-3904-QGVX 1LK62:VBQJ-0W87-GGHQ-0AQJ 1LK63:FK42-6JN1-1GU2-KRA0 1LK64:59Y4-TNFA-TV8P-BDEJ 1LK65:DPKX-LMWU-VFHX-5061 1LK66:HG90-ML4B-2YE2-KX4P 1LK67:KCNX-21E3-AP7N-FV5J 1LK68:88K8-WFWH-EN47-2KV0 1LK69:1JRF-Q37W-KABY-P3QA 1LK70:J76N-G928-KGME-QL96 1LK71:V0JN-WYVM-EJYB-MYB6 1LK72:TAUF-3EXB-4MHT-K0RR 1LK73:X0E6-Q11W-JXAN-3MQW 1LK74:F89N-NV1D-QPLF-WQH2 1LK75:KY2T-4QU7-2QVX-FHVJ 1LK76:XTC6-52W9-M4GT-E49L 1LK77:QX7W-6MN9-J9EQ-44DL 1LK78:4NMY-CRH8-6X8F-GVNQ 1LK79:UT8D-VH24-K91M-6NRM 1LK80:4E4N-RN96-MYA2-9FLQ 1LK81:P2HF-YBB7-5F5C-E88D 1LK82:CWKB-KU4A-030Y-8J7X 1LK83:TE4D-GCKF-7D5J-2430 1LK84:7WPX-LUUA-H3WM-E4XV 1LK85:NBUL-X3RA-0BQX-X0GM 1LK86:WDBQ-F020-6TAY-BM8W 1LK87:AFDC-41W3-CD50-5UCR 1LK88:CY39-3UK9-4EN2-0E18 1LK89:TTJX-7VUA-GBQ2-4XQX 1LK90:XH7B-EVAU-9314-FU3E 1LK91:BQUG-UFRY-0TKA-846B 1LK92:0LVW-Y8KN-W7VB-4N89 1LK93:QA31-4FFM-X22F-FQX7 1LK94:JB8B-4P2U-MQBT-01NJ 1LK95:AUVL-80KR-8XWR-8DGT 1LK96:UT5Y-A1Y0-9CG2-D203 1LK97:QWCW-21GA-A560-9TGT 1LK98:QRBW-HUGC-V4R3-A6H0 1LK99:QLVA-KQ1B-EYHK-WJ9X

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
44.23 ms | 405 KiB | 7 Q