joe92 Posted November 5, 2011 Share Posted November 5, 2011 I am trying to make a function that will generate a random number letter combo but the letters can only be abcde, no others. It must come out in the format, 1a~3d~9b~ etc. This is what I have so far: function randomNumLet($amount){ $theNos = array('1', '2', '3', '4', '5', '6', '7', '8', '9'); $theLet = array('a', 'b', 'c', 'd', 'e'); $combo = ''; for($i=0;$i<$amount;++$i) { $rand_num = array_rand($theNos, 1); $rand_let = array_rand($theLet, 1); $combo .= $theNos[$rand_num[0]].$theLet[$rand_let[0]].'~'; } return $combo; } $num_let = randomNumLet(2); echo $num_let; And it returns just '~~' with no numbers or letters. I'm a bit stuck here and would appreciate any help. How can I make the function output 1a~4d~ etc? Cheers, Joe Quote Link to comment https://forums.phpfreaks.com/topic/250517-random-number-letter-combo/ Share on other sites More sharing options...
joe92 Posted November 5, 2011 Author Share Posted November 5, 2011 Ahh, I was going about this the complete wrong way! Got it working now: function randomNumLet($amount){ $theNos = array('1', '2', '3', '4', '5', '6', '7', '8', '9'); $theLet = array('a', 'b', 'c', 'd', 'e'); $combo = ''; for($i=0;$i<$amount;++$i) { $num = count($theNos); $rand_num = rand(0, ($num - 1)); $let = count($theLet); $rand_let = rand(0, ($let - 1)); $combo.=$theNos[$rand_num].$theLet[$rand_let].'~'; } return $combo; } $num_let = randomNumLet(2); echo $num_let; Its now counting the array and generating a random number between 0 and the size of the array - 1. Sorted, Joe Quote Link to comment https://forums.phpfreaks.com/topic/250517-random-number-letter-combo/#findComment-1285293 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.