$maxLen || !$word) $word = $words[array_rand($words, 1)];
if (rand(0,1)) $word = ucfirst($word);
for ($i = 0; $i < $maxLen - strlen($word); $i++) rand(0,1) ? $opener .= rand(2,9) : $closer .= rand(2,9);
return "{$opener}{$word}{$closer}";
}
?>
Demo:
for ($i = 0; $i < 20; $i++)
{
echo generatePassword() . " ";
}
Produces:
6Above43
79Above7
absence4
2Above85
58about5
59Above3
4absence
Absence3
6about44
3Absence
Above587
Above994
8Above56
Above259
699above
4Above88
absence3
absence3
About322
267About