si tratta di una funzione ricorsiva la tua...
L'unico problema di queste funzioni è il loro potenziale richiamarsi all'infinito...

Assicurati che la funzione random restituisca almeno una volta un intero che non è presente nei campi altrimenti il tuo sito resituirà l'errore associato al max_execution_time