3v4l.org

run code in 300+ PHP versions simultaneously
<?php generate(); // FUNCTION function generate() { $digilist = "0123456789ABCDEFGHJKLMNPQRTUVWXZ"; //now we generate a new random ID number using the substrings of the digitList string above for( $i = 0; $i < 100; $i++) { $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 ); if ($i < 10) { $three_chars .= '0'; $three_chars .= $i; } else { $three_chars .= $i; } $id = $three_chars; $key = get_key( $id ); echo $id . ":" . $key . "\n"; } } function get_key( $id ) { $digilist = "0123456789ABCDEFGHJKLMNPQRTUVWXZ"; //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; }

Abusive script

This script was stopped while abusing our resources

Output for git.master
1BK00:RLT2-4XBR-T8XU-W7M3 6CR01:7FFL-XXRA-42FB-LQ4H 4WE02:XE2C-RQP9-9HGF-40LX 5XQ03:LTF5-PDC4-8X50-8D9T 8LF04:W0CD-TRTE-XV7A-M2TM 6AU05:0LAQ-5HL4-8PJ8-KJMW 3AZ06:V38U-HTKZ-KB7X-TKJ3 1VX07:AEF4-2PW5-DARE-F6RC 6UJ08:73AC-7ZE0-FF6M-9FQ0 7JT09:EF4A-A7C6-6NN4-EMNF 1TC10:91LG-793F-GM0D-9JF9 1HU11:1PLM-UGWH-RCUR-N64H 2XA12:R1B0-KXNN-B3PB-FDGF 5ZV13:0TXL-WH6B-GWNX-X7UC 5AN14:4AH8-GA49-CKCD-WKZH 7TT15:JEXQ-247J-ADWM-GCVL 3FJ16:LFXK-3W4K-0WEL-DAVR 8NZ17:MB00-UFGV-QTJJ-UDUJ 6HX18:MFV2-940X-44P0-9EUD 3JQ19:T5D5-A3XV-03ZU-XT93 7KB20:PJ9Q-RRLL-7U04-QUHK 7AB21:6154-JWJN-QCTJ-1MG1 4GQ22:842D-0EAN-78MU-XRB3 3BR23:ZG7M-0NFG-NR6K-JGVL 2VT24:GBC0-EFUM-JKXE-81QE 8WM25:2DG5-PF8G-UNA5-XA3H 6VM26:NELA-WN19-FJ1G-DHZ2 5RQ27:9D6W-B43F-NX4P-F265 8PR28:AQ9T-VV9B-AE1D-9BU0 1EA29:RLXG-UXF0-WJAJ-833C 1WM30:ABLV-M2AC-QEUA-05F3 9AN31:7J92-C6FQ-6HDE-0DVM 3JQ32:9CUA-11V7-Q73D-D059 3HC33:GBAD-H25M-FCUA-9QTB 5RE34:L9CU-FFUN-N2AL-NRNC 3HK35:DJPB-BW0K-X5VA-FHW4 4ZQ36:ZBG4-1Q76-5VU9-PPA4 4ZD37:7AA3-U9R5-DU5U-439W 3PG38:13XA-X8CX-W08Q-0VDG 7JE39:GB9E-6K42-RC5K-LFKZ 9AA40:71UF-U7WB-VFVG-WUK9 7AA41:8KW9-ACB6-AHXQ-04FK 2JJ42:4XQG-MTLW-M00L-UP8M 6EG43:07W3-H4KK-BBRV-1FL2 2DH44:DVFM-32ZA-R4Z8-NPV8 1HR45:0MBX-VNX6-MKFH-Z6P3 9VM46:PPGW-TCRN-4Q46-42WM 6KP47:3T9J-CW19-94WU-X1UL 3PV48:QWR8-04XG-FGF4-Q4KA 2UN49:TCAZ-WCEL-TEE9-L76L 1CX50:0DWR-6RKF-T7LA-ZHMX 8JW51:2K9L-BZGH-FWCQ-VH6J 9KT52:607V-9G16-7JRA-TE08 3GJ53:AAJZ-QZ0P-Q1ZP-0UAX 7DR54:ABDM-TJFR-JD70-XVA5 5NV55:KRU0-7HVA-WJRZ-1482 6FC56:TC24-DEDW-1J11-H7G6 1LZ57:RC28-V3KP-AT89-3DUB 2FQ58:GZ02-E9F5-TMTU-8VF0 7KB59:R0KV-EW5L-LPHR-6JH0 3DE60:VE9L-6NFN-5N9C-61G5 9ME61:H11J-GQ6G-7DJM-6FBF 8VN62:QCWK-WU1Q-XNFJ-V240 1UJ63:2395-EHX8-DDW8-354K 3CV64:E42A-CEB4-K133-66C0 7BV65:X6NB-EG09-MX7Q-C3NZ 9HD66:MVA8-BGCL-ZUBW-PTEZ 9ER67:BU3K-ACF9-D36F-2VVE 4BT68:MKPF-47CL-F061-JHJH 3HL69:P1NJ-8C0J-7GGW-U7PR 5QG70:9HFM-QLWA-V4EA-DTDC 8RB71:UCEM-32KB-D8A8-8HHC 8LX72:2MDM-5GK6-NEUE-VURK 2FL73:CHGC-WKK4-LA9A-5HDX 2QE74:HUT9-2L4G-7C1C-U6NJ 5UH75:9M94-K64P-3EDZ-CM76 1CC76:AZX3-UFPA-EZHZ-H15B 8RE77:2PNZ-08BL-TBMV-T9VC 5FF78:NLRX-412C-0QUN-7FD4 4DE79:LH8N-B0VL-HFUH-2B5B 5TX80:DGV0-JEBK-NF85-813Q 2BZ81:DA27-UVXD-XPKJ-DRK6 2CG82:X1PT-LQ04-ULQT-6WZP 6TR83:5530-NU0P-91L5-UCJ5 2LX84:0FG4-T9ZH-ER7D-L0TF 6AA85:3U17-0078-2QXM-ZGHZ 3XW86:KM12-J70D-5ZNB-VLN7 7UU87:A14J-C08Q-NFHL-LADN 5CN88:AZGA-BXBJ-0B83-QE48 5CF89:V5TQ-CMWG-HRPK-EFF3 4VG90:DKEL-MRX8-JV6D-MZZ6 8WM91:0Q1H-G8MM-1JC1-6FK8 8AR92:EN7T-PG5V-TNL4-GZUF 4CW93:AWE1-9EA5-12KM-ECPX 9UM94:L09X-W5L8-V457-Q0G6 8EA95:BK7T-5K0F-81LM-FWX2 1TG96:XKZX-6PRD-NG5W-XF9F 3VV97:D8D4-5FUF-F08C-ET3U 8TU98:2M85-KHDL-5B54-WP0V 8DE99:4VV6-C0Q4-WPV3-CJWJ
Output for git.master_jit
2CQ00:ZWLP-RUCF-HZLZ-2TZ5 4ZP01:CZZE-VUE4-KQQA-M6KJ 4VE02:9355-W7ZE-JUE7-77WK 6DV03:8NB9-VM78-K95F-JU1K 2PN04:5NN1-8BR8-G5DJ-ZGNE 9KG05:50CJ-PX6B-TWBD-L34L 8KL06:4C2L-M4XW-THHW-X05L 7XM07:992H-98H8-6KJC-7QGE 9VG08:00ZV-UCM4-MBE2-MQTU 2UR09:BN4L-FK4L-B82B-QT1T 8XZ10:CMW1-1DVB-VPNM-NZX5 5QL11:D547-K668-5KKJ-MN8Q 1KW12:18KC-6VUD-HP01-FDUB 4CN13:196H-GB5P-0NH8-L37A 5KN14:6LT5-XAX4-75NG-QB9B 8QN15:GJCR-FLC8-70E9-6C3G 3LA16:4MGD-KGLL-LH6V-H6XM 2RM17:VUXU-6RHP-R744-KMGT 2FW18:3PVK-J1TX-BFQB-0FKR 6TG19:G31G-KPLA-NC2X-UBM2 5FH20:C7VW-TDNZ-LADR-XVDB 6MP21:GR4J-MH5V-VMBR-5T0T 9FC22:JDP1-1ND0-43PG-PHP0 2VL23:1E9T-V9EC-GK3U-7R18 3VA24:2HP0-NM6D-6BMV-QPPV 5BZ25:ZT6X-A14M-9MBA-9VDW 5ZZ26:C119-M39V-T7UA-86KV 8XZ27:L5U7-35Q0-7HXH-FJAK 8WP28:XEN7-NZRH-9LB5-VWF4 2HG29:EXX3-E0BH-G5QG-GN7A 8BB30:XE9G-WLAG-MK9V-2Q2G 4KM31:MJMT-HTRA-84JM-WPFK 5ND32:15HQ-4557-QZDH-ATPX 1VT33:V9Z5-FWLZ-GL1F-Z21K 1FD34:QW0Z-71J6-MQ34-78L8 1TG35:UQ0V-7NEP-Z66U-8D2E 9RT36:E1BE-5JW7-L5U7-2H3E 3HK37:ZXMT-263F-G43Q-WW8T 2HH38:43AA-HWPN-W6U6-HKR0 4JF39:37X4-Z9WT-Z1BK-841J 1FU40:9JT9-KHQ5-EJPM-33GB 8QH41:ZAEP-HULU-4XLR-JK52 4TG42:AG20-1WB1-2REU-LBT5 8DB43:HDDU-639V-9JUA-VWRW 8JQ44:0JG4-AHRW-5VKX-J3P3 5FW45:DQUE-C4H4-UQEE-U9BT 9DC46:9FJZ-RG4G-WWR0-A3P9 7XG47:KW19-W9UV-5BPZ-DG1X 9ZJ48:ADQN-P1V8-EHGB-4ZRN 1GR49:0N1M-PQCB-G33E-AEC2 6UG50:0QB3-NMFC-XUWB-KMHR 8VG51:CCRU-KPMB-JWT3-35J0 3FX52:7BLH-H4WP-DFG2-4RN4 7QU53:JCGL-50KX-CJX6-FDXN 4KF54:GFKT-P8XW-XDWL-CDKF 7PA55:WNH3-2BWJ-00RL-5MGN 1FR56:41EG-GZ1U-CGPK-UWA6 7ER57:X48K-4AGG-4V3J-EENJ 7CU58:QM28-D1U5-24JV-AKL3 5HP59:8D56-RQPB-P4PW-VGGX 5QC60:VTA9-67QV-7HKH-KBTH 3CR61:TLWX-R3E7-RDK0-RUPP 9LV62:PCU3-3VQD-3J59-68W5 2EW63:5HD7-WKCT-THZG-PU3E 9BX64:AHC7-GW91-2NA2-Z3G0 8VW65:BVUE-DH8F-RM3F-8CBM 2ZG66:FUZH-61CC-QRV4-69KN 8PV67:RM5C-WVHA-Q1DP-1XWE 5MT68:MLZH-PWM7-EHME-Q99L 8EX69:X9BU-6BKC-6Q3C-ZZ8V 7VH70:5TWB-WMA6-DRME-M5XE 4PZ71:LMFZ-LXKE-35M0-Z59C 9WF72:3GF1-9EDG-8KX6-TD7G 7XX73:FT31-2C4D-L9U5-U2WF 7CW74:0ZEL-W6LK-1ZM8-2R91 7LC75:NAUW-H4BJ-RWG0-N3RL 4JZ76:5HWJ-DAV9-536Q-0P4T 6GC77:B49Q-1AVL-ZQNQ-JJWC 7ZE78:4URK-K1H4-86X8-F572 4JW79:WJ1T-0HG9-REW5-34QB 9GV80:ZTGN-N39H-CV7L-KJCW 3VT81:C3KP-F7AB-9U72-6U8A 7FF82:3F8E-DPUA-BTJT-NJ6C 2CZ83:7WP0-8MKU-EFCN-5GAV 8FA84:775U-P32W-CX3R-WLQF 9VH85:9RBM-H2NH-LT2Q-6X5N 9ZE86:73E6-ZZCQ-MTDC-5943 6XG87:6DQU-D75C-PWB6-XHCR 8QN88:G0J7-AGV6-B2FB-9R51 3XF89:A2LN-M941-0GCA-JGP2 2CG90:FR9V-85LE-04UA-9XTT 5AG91:LA3H-MH7M-D0H0-T5R4 5KM92:VVPX-KU89-B9C8-R6UE 1NG93:4MA4-LLF9-9G0Z-727A 3KZ94:QLZD-U3QL-3V54-HR89 8FP95:6RJK-6R43-VV1D-DTQG 4NF96:N9MT-XG51-984B-UMWG 1ML97:H7LG-X4RF-1VXL-6W2L 8EB98:10PU-M5J5-66KV-MKVD 1ZQ99:ETW5-UV56-PLHB-7BM0
Output for rfc.property-hooks
6CT00:89LZ-J19X-XFJN-JZ50 5ZB01:HVX9-DJ73-KB1N-UJHR 4PE02:MXE5-UK7P-LF94-2GXL 9EK03:LZ27-B595-4KVV-PL64 4LV04:TPM4-D68B-1CDK-171R 8GG05:4973-P0KW-FHKV-LG5J 1CK06:2675-D0MG-JT0D-R2NH 6GH07:WBGC-6D2X-5BFA-AJH1 5LJ08:350M-0QR1-NHGJ-G1Z5 7JC09:VPM3-9PBH-ZL5R-55FR 3PH10:RK9J-D120-9TX7-4Z1X 4UC11:A099-QUWA-0AFR-NM0U 1NL12:JQR7-4ZZ0-PGTK-8L0V 6WQ13:PRNL-UJJZ-N7BB-HV4M 7FJ14:CBCX-5974-GJ54-PWP4 6BR15:MUM8-URMC-HJK0-X57M 9PH16:3LB3-GKW6-P6Z4-7C52 5VA17:EG2H-NGE1-B0E5-BQ5V 6FN18:P0AR-6F34-EFHL-KPHG 6ZV19:UC3L-JLBP-21GN-6ER6 6XE20:J5PN-1VL0-8LB8-PWXF 2UV21:H3CR-TAQG-XNEQ-E73F 2ND22:KMAE-ZF2D-ZB3M-EMMC 2QE23:XQP3-XV7V-83BQ-NKRJ 2RE24:G8L0-JWX3-7ZMJ-EXVP 5HD25:DEZA-7RPG-6KF3-53XE 6QD26:E02K-6MMC-R8LG-T140 2KH27:FNLN-6Q7E-K31Z-FPH6 4MD28:X5P8-H4QC-FK2G-C07M 5EL29:262G-9T4M-HF1R-9PEN 3QM30:X3NA-ZR51-LZ99-JPQ6 7JP31:8WM5-X7E4-GEDM-MEGF 2FD32:X044-FU7X-UFDB-0GCG 8PD33:XABC-D0EQ-VRA5-9X42 6NQ34:66L6-2G3M-KD1X-6976 4AN35:CBHV-LKD0-UQPJ-3QTD 3TQ36:JVPH-1TH0-TLRZ-KU66 3ER37:FBR3-2VB2-C6P4-WHH4 2CV38:83XF-2M33-6XR0-GZ0A 4PU39:0VQ6-TD9A-MFUV-WDTQ 2QC40:9G8R-VCVX-986C-CTWP 9CQ41:X74V-2UG5-A5PX-GD8N 5BT42:MB63-2BDN-R37P-F25L 3HH43:36JT-XHBE-7UZ9-A3GR 6DH44:0DGZ-FZL3-2L1H-0PK8 9GW45:VCLT-4K7M-6DJ3-CBX0 7RX46:86ZK-D5GK-672A-Z5G2 8PA47:097H-DX7X-RX4W-EH5M 7MH48:ANCE-JZNV-A2E7-L0VG 3VX49:WLT6-VCRF-2EJ1-RJRK 1NA50:9L4M-6K0L-4WDM-WK10 4KB51:JM8M-QJDW-FQKZ-NC33 8XZ52:P5HM-GC5C-6M46-MXW3 1EJ53:31DW-0KPT-ZFUM-KV1C 5RU54:H3DP-6M6Q-463M-LN24 1HV55:BK6J-DZ8R-J9FX-4WCW 5BL56:UJFL-XN7B-BUZP-CLAN 5JG57:BH04-LVVG-1D20-PHUZ 1NU58:GB7U-PVR8-ZJ6Q-7B1Q 4ET59:WLGL-54NN-2ZTM-CXK0 3WD60:8UME-52AC-2WB9-EVZ0 9AP61:1H3W-JH4J-TGT4-4ACF 5DH62:NRUA-W253-ETE1-DRE0 2CQ63:TLZP-AEND-6Q40-AH70 2RJ64:6507-MEN2-RN4Q-L0UX 2ER65:ZGFD-Q0N4-4BGU-EGQ7 3ZJ66:H94N-KLEM-JQ6Q-588V 9AC67:HJWN-LNU3-FCKZ-3W8U 5HB68:4XWK-JHMP-X12J-6X6F 8EB69:FXLA-F74L-37C2-U73Q 7AZ70:3T35-P86P-UH36-W3NP 6CA71:N8VJ-ALKP-H7L8-FG9W 4DG72:TC87-0R26-4EN0-NRJ9 9HT73:XTFJ-2155-3RHP-WQ0M 7CE74:49EG-GWNR-N6EF-GB6M 9VB75:BV9E-CC8B-E7L3-3W0V 1DK76:JZ7T-0N36-4D81-C4GD 7GV77:CQZ4-TGHU-J48X-5L0C 9MA78:6FUU-1R3Q-11M6-XBF9 2QR79:FX7E-5KWC-AXHT-0WZ5 7LW80:0PDP-59G2-MRG6-K2N2 7UL81:UJ6Q-09RV-L1KJ-RF5K 2GB82:KVQV-NALR-KXFJ-JXAK 6LR83:7D83-EB6P-U1XF-AMNG 1KH84:DDXF-3B97-WGVV-2EJM 3RM85:RT7A-U2PF-TV61-9PH2 7QK86:UADZ-FKL0-7EVR-A628 2HR87:8U3H-U3WL-L0PZ-20TC 2VG88:3VHZ-UZ89-399Q-GMAQ 5JA89:7ZN8-ZVW3-81MN-BNLT 6PP90:BN0F-QLQL-PLQU-1GRK 1ZG91:JUP0-01GB-XT79-XK3R 7ZX92:ENRC-FV69-N6B6-1G4M 5DF93:7251-VG3P-9819-3FHA 2FH94:F5AQ-PCN9-B8TG-8X2N 1ZQ95:57TT-ZZZK-J3LB-AVJF 1KJ96:0HVT-8Z9X-G120-UHL8 8CL97:NUCU-52V6-NRQB-KZQW 4GB98:32G9-R3T0-VM5X-0BTT 9VH99:59TL-C89F-JEJL-RQTB

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:
28.94 ms | 424 KiB | 5 Q