3v4l.org

run code in 300+ PHP versions simultaneously
<?php mt_srand(42); for ($i = 0; $i < 20; $i++) { $key = generate_key(62); $len = strlen($key); echo "{$key} {$len}\n"; } function generate_key($n) { $key = base64_urlencode(rand_buffer(ceil($n*0.75))); if (strlen($key) > $n) { $key = substr($key, 0, $n); } return $key; } function base64_urlencode($buf) { return str_replace( array('+', '/', '='), array('-', '_', ''), base64_encode($buf) ); } function rand_buffer($n) { if (function_exists("openssl_random_pseudo_bytes")) { return openssl_random_pseudo_bytes($n); } $buf = ""; for ($i = 0; $i < $n; $i++) { $buf .= chr(mt_rand(0, 255)); } return $buf; }
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.26, 7.3.0 - 7.3.13, 7.4.0 - 7.4.1
ZrNcDmpHvBRmedLWSspXdGNnl4KVNAFX650lgb-7FKDLORX861gw2jr-qf_bu8 62 Dr29rr0yazbzP_iC5DKGFEimEYNYOw3x-QhZNIFTW267xqv8B64izVCjMWeDAf 62 hTVpAzXcvpHZK6HJveMNXi8Ox83W-_i9J9TP7FFuNBeZ2Pu7e-wonA4sQFhGCF 62 gOuH1z6K8lCHoqIgegTp5vkoG4bIRwuhIC_2lj3XJGKrZ9XaIsDiZK7NggAE2f 62 _o1mGojODlkpe8yyPl_m8DP8X4Pd5Jbm7I6qHCMMn0a68lUbQaksPbj0hRsbay 62 Ux29Sn_59lvY5r3ggHgavXhzzOgCZsXHmog9pOAy6auXzjp1n1_X6LNwPfC5Mw 62 _SaBgnBkcLdQunABgds1VuTf4ICSfYE0q9mfxZ_2Q7bKt3qQ_iUXRHNhxdWK_u 62 j2DIe7pFz1wCk_u6o5JZwv6Sk1_GM-igp38mUWeACtu42LGWnt0pYgb7j1lv-P 62 O3ABgC_9i8Qkn_r2COhiki_PgpOXNXegl3NKcMejpWdT_eJv_dhimFyRf21RwT 62 os-8qOOgQyCNFC-T93-HhsKQfyCvy7py1XYV7Z0l5WwytQcaGuEUHWAbbr_gxP 62 PC-SAyK_MP8Qq9ud3C10BWJ76CQXXPAttF5iu-BzvvzUn9ag_0J_ERjp3jU5Qm 62 rRdxH65VlsF-mumB2RBnoIgq9a8m3Kn2GWIxmJcMO_mGOCOsE0AH_-2Pjcty1o 62 W2FBH9a-VTKYuT69fJU5OVUws6lFDjXqu2TgBzQ762sEZsMFbN9zXS5iNqczjw 62 cXtpnZKQdz4SWzm2WeTZdD0WfoiL9IA5eQDuIV99dS9Y5-x0gA-85r--RBVc9s 62 S5mPsuRVuBzN20Qu8F3tvfPEy4_Z2a9UJmMg_d1kFvkJ9URjIbPeifmSuV8A90 62 7AMPF0_2AfDbf5_aU5eLsaJ7IKC8sqpkC0JAoKdJKiscjAteLYH88vEi1lBZB1 62 mclZ_aFyaIbDOfRx7Eqcd6PYFPz4o4lkyJe_4rBi7yPR8OZfl5a93yQLcLYMFt 62 YmgdEHA9U2_YVYy6ErBji7zokksIxhvN3n8zUvluj3REYosYs3rU4zSWjzgmbL 62 Kbmmjd55hKLW3OpKke5LCEm565D85QatjKepiLEaecEEHKSlUofvbEBV85D-Rt 62 LIMjRfueErxrtaZayVkSJn3CrIzx2305k9vHPH5opgCCzFu9-L77cJg3oKV0hT 62
Output for 5.2.1 - 5.2.17, 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
ocvz0EU5Z2YnctnnDosjq5kkS6YF8Pi4K_A2_i4ALmBNYoYBbgVKhmJmI_W0B6 62 xXTpN54zYX37aXcL3JtQK43u_fIPCZAwnLP6GTtRPXCu4ZyAK_YsFmRCLlc_T5 62 ezV1b9H2-Nc4jfCbG-2ZROutFpLMewsIUyZjQUV0KmhbCUdldLgktc0q7QT8bM 62 ZcxLAf0uMrS2RMrFZeztpVjj6tzZYY1U5u5eT1WtqrppXUbjj4ac4AZI2TxGcc 62 O7-A9IW1kxwGcOXNCBuih1BufLIWIz-aaYrBzTrxE5m0sdfh7mHOS6LlIXTNyd 62 lBocdFMwH-VbURYcRcRbk_7RpCKw_9R8iJSCOE_gRFY-D9Wsxnpws5mj7ga_CD 62 QEx_SLPbtv8JRGL6fmnz9kem6KLDUCWHfYz8jcOXrOo8oDw9ujOgeKH7XJh30R 62 zCsmrIIvsvTbaa2txvpIg885WaXmLPBOm2N679YjrFe848sSdB5MQjqo0i_7cI 62 h0I9_-kJ5Y7mH1wwqLmns0cmG9vjmTkdpCcV79c3GKubavxfGQ6p-f-2KU5ygr 62 cqYAx9O2BDx-U9NBXaZA2bioTm-K6YJeXENAPmn5BJqC5OehbzWnfqVtVYAjMT 62 uH-5kvjEW_UtAA54CkcU4qBBAw3tqm2N92z2-toTS7CcztlEUXzVX45lESayEG 62 EuY1Y1X9pd2_hLXgUr3ZsiJNtaKNtUsxlc9B3ZzpFIIBgF7Mz1jsTZs18h0cVg 62 YGoYcJSsCVR32YoFtyiXIvm-CffSs6KJ3q170zu7yQlhi-vX8892l3SzXSNHIf 62 Bnq2UvQ1ZruQcL7qf0LRN5Gt6DcKaM-prukKO4dyJ_IuaKu5YrB6fRJMK6P-qk 62 P5Bb1jzfR1fcknCdcfUbgfDSecVdAjkwh6YTMq7dHUhcd-bdjjnauaDROoDbS- 62 bqzmqDAe8QYfEBjPtteSGBffZHXwDmjOJSbSyeLYcDKHaozY2juz2dpvLWnjbi 62 59V-E-_4SEFaT0xZoS5aCn0RiQlIs5eS_-p0rIbA096hf0PQllhUj-RGKa7_xn 62 PORfYg36-pdcKslgnBiIeU8Z561aUTWIF8w_U8RgbsgoD5pUjazI_7Y0yMoird 62 xPnPRLNKTvjc8B203IyeTsLWoaajKOuTszgtHpYai2HVxyqB_GqeZmFklMLNk3 62 LT6nnnSQPzhf9THpexaqI-r7BPymDCgOvd9BWhPigQRv0Tz2mF96iK8fwzlQc4 62
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
pT9j5dLHr9rS80G6KYaoCPC8Blupd8YQkwDXt5whYMUZHDvl4IfFGfG6_ODnIH 62 N375stxvJKI_nfQ9PI0gd0gZ14wzeIvv9SnmPxJZA_NfpHtF_Mj8SYgRbX-4un 62 smG75vEOFXtTEzUUsYxWTw6i770kWRisDnI_UREsGm4xm6_kPFc1QnKAZiExr0 62 mdoiG-4s_VAgEXmQLGlKPY8BMrnU2ac7XsnoMIi7kr7u73tOH4y7jGAUXZEW8u 62 b58l5Su5k6sDr3JR3sIBJ8eyArSZ6HTcVyret4MYK34XplWKobhLdnf4orm28F 62 UIKjr_uSekdQzinbnwV_haemwvhyzGfKBwaT_c9D7bvma06I4FCkM6LtKfAZyJ 62 -RpLXDNtg8PYH6TUaYCrjgUFvJxidj1X4BCdKNKlTc95aWKDr_WGgCyx9mBiGK 62 WVutrm32Rq3rI9ur7xHR9VFKM7GnMcGX4Pz5Wo5tiwCgBn6dPJJTVjnbioE3aZ 62 ZCwU_BC-BBteU-cw48K-BSD3ONtVDly-91VnCT9zQXZgjymviKBa2PrM03-HFF 62 5P5i-i3gpK7t8L31bBo4irVrXDvS47UY1s-buNEVS4YH8-XKUAtwCR_jJxp4eO 62 q0P48D8gt_Z7HOYvDMwvf7PhCJpSeot_w6UCyRtb6Nssih5kuYISr3KEFlLBCC 62 fcCw3RqTJQ8jEpq6iboDs43-awHLtump1KZHjaF7rZf-0C4nd0qSU7eonZzyF3 62 LJyLVf1wUYcPQKoUcGo4TAPI8zeHdkS21ZWsHo5fg7wRAAx6Ln20LSTTx1Yu4E 62 Q7ClRNboiJgf79zy7n_Hw3vREClJ2jvb2Jogn8Qg3ebVgSQr9wHdfU3uAel1qG 62 OWGkM7oM99cr09JPN0ChJAJkFxMiuE9Cis-Zq8jWKo_E1AflhkCnKygts2snU6 62 s4_2Hq9KYi-3BROyPtkxi9PnlIKtVzHZcfIIfKnQfXtbMw3OJ4Sl3WeG5pyy6H 62 pgnV9nwShAbNS6YZ70gim3ZDyTgffz05Kagn6c8cYskZhW54A5JIJUky4Sh-2J 62 E64ZAQ6vSb8P7-3WJGNl_orLtnDO-YR-uZXOHIRuC4Cd8JiXjfPTixKh201PBM 62 incBYhfkUl8AKhupyUx6JR5ek9U33UYVd5s9wT8LOoMZcwPzhSbIrlA-SNCE3W 62 6wOqmuk62RpN2dsYHOJZXLsmk9jqGJF0jCgwt_5a5mii_DcNMQUeJlzTlvixsC 62

preferences:
223.12 ms | 405 KiB | 325 Q