Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «GUID»



Сниппет,  PHP

Generate a GUID string

Gravatar image
blacksmoke26
  • Репутация: 13
  • Сниппеты: 11
  • Ревизии: 0
/**
 * Generate a GUID string
 * @link http://php.net/manual/en/function.random-int.php#118636
 * @return string
 */
function guid () {
	/** @var string $uid */
	return sprintf ( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',

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

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

		// 16 bits for "time_hi_and_version",
		// four most significant bits holds version number 4
		random_int ( 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
		random_int ( 0, 0x3fff ) | 0x8000,

		// 48 bits for "node"
		random_int ( 0, 0xffff ), random_int ( 0, 0xffff ), random_int ( 0, 0xffff ) );
}

/*************
 * EXAMPLE
 ************/
 var_dump ( guid () );

 /*************
 * OUTPUT
 ************/
 # (string) '35cf783a-e866-4956-871c-6af2ef6f7bc9'
Gravatar image
Nepster
  • Репутация: 151
  • Сниппеты: 19
  • Ревизии: 0

GUID (Globally Unique Identifier) — статистически уникальный 128-битный идентификатор.

function guid() {
  function s4() {
    return Math.floor((1 + Math.random()) * 0x10000)
      .toString(16)
      .substring(1);
  }
  return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
  	s4() + '-' + s4() + s4() + s4();
}

Результат: 9e24e277-8524-812a-9c3f-4930444d74de