À court d'id unique en php

Je veux créer un id unique mais uniqid() est de donner quelque chose comme '492607b0ee414'. Ce que je voudrais, c'est quelque chose de semblable à ce que tinyurl donne: '64k8ra'. Plus c'est court, mieux c'est. La seule condition est qu'il ne devrait pas avoir un ordre apparent et qu'il devrait regarder de plus beau qu'un ordre apparemment aléatoire de la séquence de nombres. Les lettres sont privilégiées sur les nombres et, idéalement, il ne serait pas le cas mixte. Comme le nombre d'entrées ne seront pas que de nombreux (jusqu'à 10000 ou) le risque de collision n'est pas un facteur énorme.

Des suggestions apprécié.

  • Prendre les 6 premiers caractères?
  • Comme uniqid est basé sur l'horodatage les 6 premiers caractères sera la même chose pour un temps assez long 😉 Même si j'ai pris les x derniers caractères ou combiné cela d'une certaine façon, je pense qu'il est toujours plus propre approche. Quelque chose comme "x1f', ce serait bien.
  • Avez-vous trouvé une solution? Si oui, de les partager ou de les prix une réponse.
  • Ouais, je suis allé avec ce que lpfavreau suggéré, bien qu'un peu modifié. Comme la liste des éléments est assez petite, je peux faire un, en mémoire de vérifier les collisions
InformationsquelleAutor Antti | 2008-11-21