Любая причина, почему этот код иногда генерирует только 4 строки символов?
function genID()
{
$id = '';
$values = '0123456789abcdefghijklmnopqrstuvwxyz';
for($i=0; $i < 5; $i++) :
$str = substr($values, rand(0, strlen($values)), 1);
if(!is_nan(acos($str)))
(mt_rand(0, 1)) ? $str = strtoupper($str) : '';
$id .= $str;
endfor;
return $id; // e.g: ifR8j
}