Tout dépend du nombre de chiffres que tu veux pour ton nombre et du nombre de nombres (hem). Si la quantité de nombres que tu as besoin est peu élevée, tu peux taper dans le tas étant donné la probabilité de tomber plusieurs fois sur le même nombre.
Si la quantité de nombres dont tu as besoin est élevée, je te conseille de faire un array avec une série de nombre (range() ou array_fill() peuvent être utiles), tu fais un array_rand() qui sélectionne le nombre de valeurs définies dans ton tableau de manière aléatoire, et ça retourne un tableau avec les index (enfin suffit de lire la doc).
Je dis ça de tête donc j'ai pas d'idées précises quant aux performances. J'avais utilisé un système de ce type pour générer une grille de sudoku y a longtemps, et ça marchait plutôt bien.
Si la quantité de nombres dont tu as besoin est élevée, je te conseille de faire un array avec une série de nombre (range() ou array_fill() peuvent être utiles), tu fais un array_rand() qui sélectionne le nombre de valeurs définies dans ton tableau de manière aléatoire, et ça retourne un tableau avec les index (enfin suffit de lire la doc).
Je dis ça de tête donc j'ai pas d'idées précises quant aux performances. J'avais utilisé un système de ce type pour générer une grille de sudoku y a longtemps, et ça marchait plutôt bien.