PHP: GUID erstellen (flexible Länge und Struktur)

Um in PHP eine GUID (Globally Unique Identifier) zu erzeugen (wie Sie sie ggf. aus C# und anderen Programmiersprachen kennen), hilft Ihnen die folgende Funktion weiter:

function getGUID($len = 36) {
  $tmp = "";
  $pos = array(8,13,18,23);
  while (strlen($tmp) < $len) $tmp .= md5(uniqid());
  foreach ($pos as $p)
    if ($p <= $len) $tmp[$p] = "-";
  return substr($tmp,0,$len);
}
Ausgabe (Beispiel):
echo getGUID();
3470b4e8-d6fe-1f76-6c09-0d31828e8a1d

echo getGUID(20);
8b31eeb6-b451-a61d-f
Die Lage der Trennzeichen ("-") können Sie durch das Array "$pos" bestimmen, die Länge der GUID durch den Parameter "$len". Wenn Sie keinen Parameter übergeben, ist die GUID automatisch 36 Zeichen lang.