I'm randomly generating chars in PHP, using:
for ($i = 0; $i < $length; $i++) {
$generatedCode .= chr(rand(97, 122));
}
But I dont want the letters "g" and "m" to be in the randomly generated string, how can I do this?
I'm randomly generating chars in PHP, using:
for ($i = 0; $i < $length; $i++) {
$generatedCode .= chr(rand(97, 122));
}
But I dont want the letters "g" and "m" to be in the randomly generated string, how can I do this?
$chars = array_diff(range('a', 'z'), array('g', 'm'));
$generatedCode = '';
for ($i = 0; $i < $length; $i++) {
$generatedCode .= $chars[array_rand($chars)];
}
for ($i = 0; $i < $length; $i++) {
do {
$randChar = chr(rand(97, 122));
} while($randChar != 'g' && $randChar != 'm');
$generatedCode .= $randChar;
}
Do the loop until the correct values are in place.
for ($i = 0; $i < $length;) {
$code = chr(rand(97, 122));
if ($code !== 'm' && $code !== 'g') // add the correct values here
{
$i++
$generatedCode .= $code;
}
}
Put simply, filter out 'g' and 'm';
<?php
$length = 8;
$generatedCode = '';
while( strlen( $generatedCode ) < $length ) {
$random = chr(rand(97, 122));
if( !in_array( $random, array( 'g', 'm' ) ) ) {
$generatedCode .= $random;
}
}
echo $generatedCode;
for ($i = 0; $i < $length; $i++) {
$generated = chr(rand(97, 122));
if ($generated != "g" && $generated != "m") {
$generatedCode .= $generated;
}
else{
$i--;
}
}