hay una línea que no entiendo cual es su funcionamiento,
srand((double)microtime()*1000000);
y después de esta línea si se que viene la búsqueda de un numero aleatorio entre 0 y la cantidad de posiciones del vector
$valor_aleatorio = rand(0,count($libros)-1);
de antemano muchas gracias por su ayuda