hola sebandrescc2, al momento de asignar a la perdona el número ¿Puedes ya tener a la mano los que han sido asignados? o ¿De donde sacas esos numeros del 1 al 20? son fijos o tambien vienen de una BD?
A mi lo que se me ocurre es que ya pudieras tener los asignados antes en un array y el conglomerado posble en otro algo asi:
Código PHP:
Ver original$numerosAsignados = array(1,5,10); $numeros = array(1,2,3,4,5,6,7,8,9,10,11,12,13.....20);
//Aqui obtienes los valores que no están en el arreglo de numeros asignados
//Luego obtienes una posición aleatoria del arreglo resultante.
Creo que esa es la lógica que necesitas, no? en caso contrario comenta a ver si hubo algo que no entendiera. No estoy seguro de la sintaxis exactas de las funcions array_rand y diff pues lo corro en frio, pero supongo que basta con que pruebes o termines d documentarte en la página de PHP