Hola Chulosoy:
Supongo que lo de las comillas simples y dobles, yo utilizo el punto para separar las cadenas en las simples y no en las dobles, y quizás por ello está confundío (como dinio)
.
Sobre lo del número aleatorio, lo probé en mi ordena, y me da error en la llamada "gmp_random()" (supongo que mi versión no la aceptará)
.
Por el resto, nada más.
Un saludo.