src/bbn/x.php
public static function make_uid($binary = false, $hyphens = false){
    $tmp = sprintf($hyphens ? '%04x%04x-%04x-%04x-%04x-%04x%04x%04x' : '%04x%04x%04x%04x%04x%04x%04x%04x',

      // 32 bits for "time_low"
      mt_rand(0, 0xffff), mt_rand(0, 0xffff),

      // 16 bits for "time_mid"
      mt_rand(0, 0xffff),

      // 16 bits for "time_hi_and_version",
      // four most significant bits holds version number 4
      mt_rand(0, 0x0fff) | 0x4000,

      // 16 bits, 8 bits for "clk_seq_hi_res",
      // 8 bits for "clk_seq_low",
      // two most significant bits holds zero and one for variant DCE1.1
      mt_rand(0, 0x3fff) | 0x8000,

      // 48 bits for "node"
      mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
    return $binary ? hex2bin($tmp) : $tmp;
  }
public static function make_uid($binary = false, $hyphens = false){
    $tmp = sprintf($hyphens ? '%04x%04x-%04x-%04x-%04x-%04x%04x%04x' : '%04x%04x%04x%04x%04x%04x%04x%04x',

      // 32 bits for "time_low"
      mt_rand(0, 0xffff), mt_rand(0, 0xffff),

      // 16 bits for "time_mid"
      mt_rand(0, 0xffff),

      // 16 bits for "time_hi_and_version",
      // four most significant bits holds version number 4
      mt_rand(0, 0x0fff) | 0x4000,

      // 16 bits, 8 bits for "clk_seq_hi_res",
      // 8 bits for "clk_seq_low",
      // two most significant bits holds zero and one for variant DCE1.1
      mt_rand(0, 0x3fff) | 0x8000,

      // 48 bits for "node"
      mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
    return $binary ? hex2bin($tmp) : $tmp;
  }
public static function make_uid ( $ binary = false , $ hyphens = false ) { $ tmp = sprintf ( $ hyphens ? '%04x%04x-%04x-%04x-%04x-%04x%04x%04x' : '%04x%04x%04x%04x%04x%04x%04x%04x' , // 32 bits for "time_low" mt_rand ( 0 , 0xffff ) , mt_rand ( 0 , 0xffff ) , // 16 bits for "time_mid" mt_rand ( 0 , 0xffff ) , // 16 bits for "time_hi_and_version", // four most significant bits holds version number 4 mt_rand ( 0 , 0x0fff ) | 0x4000 , // 16 bits, 8 bits for "clk_seq_hi_res", // 8 bits for "clk_seq_low", // two most significant bits holds zero and one for variant DCE1.1 mt_rand ( 0 , 0x3fff ) | 0x8000 , // 48 bits for "node" mt_rand ( 0 , 0xffff ) , mt_rand ( 0 , 0xffff ) , mt_rand ( 0 , 0xffff ) ) ; return $ binary ? hex2bin ( $ tmp ) : $ tmp ; }
Makes a UID.

@param bool $binary Set it to true if you want a binary UID
@param bool $hypens Set it to true if you want hypens to seperate the UID
@return string|bynary
Makes a UID .