本文整理汇总了PHP中mt_getrandmax函数的典型用法代码示例。如果您正苦于以下问题:PHP mt_getrandmax函数的具体用法?PHP mt_getrandmax怎么用?PHP mt_getrandmax使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mt_getrandmax函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: rrt
function rrt($rate)
{
$min = 0;
$max = 1;
$R = 0.75;
$count = 0;
$arraylist = array();
$fail_rate = $rate;
$fail_start = ($min + mt_rand() / mt_getrandmax() * ($max - $min)) * (1 - $fail_rate);
$p = $min + mt_rand() / mt_getrandmax() * ($max - $min);
while (!($p > $fail_start && $p < $fail_start + $fail_rate)) {
$count++;
array_push($arraylist, $p);
$flag = true;
while ($flag) {
$flag = false;
$p = $min + mt_rand() / mt_getrandmax() * ($max - $min);
$r = $R / (2 * count($arraylist));
for ($i = 0; $i < count($arraylist); $i++) {
if ($p > $arraylist[$i] - $r && $p < $arraylist[$i] + $r) {
$flag = true;
}
}
}
}
return $count;
}
示例2: get_token
public function get_token()
{
// Create a token
$token = hash('sha512', mt_rand(0, mt_getrandmax()) . microtime(TRUE));
$_SESSION['token'] = $token;
return $token;
}
示例3: send
public static function send($data, $sampleRate = 1)
{
$config = Config::getInstance();
if (!$config->isEnabled("statsd")) {
return;
}
// sampling
$sampledData = array();
if ($sampleRate < 1) {
foreach ($data as $stat => $value) {
if (mt_rand() / mt_getrandmax() <= $sampleRate) {
$sampledData[$stat] = "{$value}|@{$sampleRate}";
}
}
} else {
$sampledData = $data;
}
if (empty($sampledData)) {
return;
}
// Wrap this in a try/catch - failures in any of this should be silently ignored
try {
$host = $config->getConfig("statsd.host");
$port = $config->getConfig("statsd.port");
$fp = fsockopen("udp://{$host}", $port, $errno, $errstr);
if (!$fp) {
return;
}
foreach ($sampledData as $stat => $value) {
fwrite($fp, "{$stat}:{$value}");
}
fclose($fp);
} catch (Exception $e) {
}
}
示例4: getRandomNumber
/**
* Return a random number in the specified range
*
* @param $min [optional]
* @param $max [optional]
* @return int A random integer value between min (or 0) and max
* @throws \Magento\Framework\Exception\LocalizedException
*/
public static function getRandomNumber($min = 0, $max = null)
{
if (null === $max) {
$max = mt_getrandmax();
}
$range = $max - $min + 1;
$offset = 0;
if (function_exists('openssl_random_pseudo_bytes')) {
// use openssl lib if it is installed
$bytes = openssl_random_pseudo_bytes(PHP_INT_SIZE);
$hex = bin2hex($bytes);
// hex() doubles the length of the string
$offset = abs(hexdec($hex) % $range);
// random integer from 0 to $range
} elseif ($fp = @fopen('/dev/urandom', 'rb')) {
// attempt to use /dev/urandom if it exists but openssl isn't available
$bytes = @fread($fp, PHP_INT_SIZE);
$hex = bin2hex($bytes);
// hex() doubles the length of the string
$offset = abs(hexdec($hex) % $range);
// random integer from 0 to $range
fclose($fp);
} else {
throw new \Magento\Framework\Exception\LocalizedException(new \Magento\Framework\Phrase("Please make sure you have 'openssl' extension installed"));
}
return $min + $offset;
// random integer from $min to $max
}
示例5: __construct
public function __construct($dir)
{
if (self::$useDirectories === NULL) {
// checks whether directory is writable
$uniq = uniqid('_', TRUE);
umask(00);
if (!@mkdir("{$dir}/{$uniq}", 0777)) {
// @ - is escalated to exception
throw new InvalidStateException("Unable to write to directory '{$dir}'. Make this directory writable.");
}
// tests subdirectory mode
self::$useDirectories = !ini_get('safe_mode');
if (!self::$useDirectories && @file_put_contents("{$dir}/{$uniq}/_", '') !== FALSE) {
// @ - error is expected
self::$useDirectories = TRUE;
unlink("{$dir}/{$uniq}/_");
}
rmdir("{$dir}/{$uniq}");
}
$this->dir = $dir;
$this->useDirs = (bool) self::$useDirectories;
if (mt_rand() / mt_getrandmax() < self::$gcProbability) {
$this->clean(array());
}
}
示例6: up
public function up()
{
//we'll need some places where the events can take place
$locations = array('Rīga', 'Valmiera', 'Ventspils');
foreach ($locations as $location) {
$loc = \Model_Orm_Location::forge();
$loc->title = $location;
$loc->save();
}
//and let's create at least one event as well
$demo_event = \Model_Orm_Event::forge();
$demo_event->title = "Notikums pēc nedēļas";
$demo_event->description = "Kaut kas, kam jānotiek nedēļu vēlāk nekā šī skripta izpilde.";
$startdate = \Fuel\Core\Date::forge(time() + 7 * 24 * 60 * 60);
$demo_event->start = $startdate->format('mysql', false);
//'2013-11-27 07:00:00';
$demo_event->location_id = 1;
//pieņemsim, ka Rīgā;
$demo_event->save();
//the event shouldn't be empty - some agenda items
$agenda_items = array('Notikuma pats, pats sākums', 'Kaut kad drusku vēlāk', 'Vēl mazliet vēlāk', 'Un nu jau arī beigas');
foreach ($agenda_items as $agenda_item) {
$demo_agenda = \Model_Orm_Agenda::forge();
$demo_agenda->title = $agenda_item;
$demo_agenda->event = $demo_event;
$demo_agenda->save();
}
//we also need some users. at least two.
\Auth::instance()->create_user("admin@eventual.org", "fuel_dev", "admin@eventual.org", 100, array("verified" => true, "verification_key" => md5(mt_rand(0, mt_getrandmax()))));
\Auth::instance()->create_user("user@eventual.org", "fuel_dev", "user@eventual.org", 1, array("verified" => true, "verification_key" => md5(mt_rand(0, mt_getrandmax()))));
}
示例7: getSiftScore
function getSiftScore($userid)
{
if (!SHIFT_SCIENCE_KEY) {
return mt_rand() / mt_getrandmax();
}
// create curl resource
$ch = curl_init();
$api_key = SHIFT_SCIENCE_KEY;
// set url
curl_setopt($ch, CURLOPT_URL, "https://api.siftscience.com/v203/score/{$userid}/?api_key={$api_key}");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
$sift_data = json_decode($output);
if ($sift_data->status != 0) {
$sift_data->score = null;
if ($sift_data->error_message != 'Specified user_id has no scorable events') {
throw new Exception($sift_data->error_message);
}
}
$sift_score = $sift_data->score;
return $sift_score;
}
示例8: send
public static function send($data, $sampleRate = 1)
{
if (!self::$enabled) {
return;
}
// sampling
$sampledData = array();
if ($sampleRate < 1) {
foreach ($data as $stat => $value) {
if (mt_rand() / mt_getrandmax() <= $sampleRate) {
$sampledData[$stat] = "{$value}|@{$sampleRate}";
}
}
} else {
$sampledData = $data;
}
if (empty($sampledData)) {
return;
}
// Wrap this in a try/catch - failures in any of this should be silently ignored
try {
$host = 'statsd.p.rayku.com';
$port = 8125;
$fp = fsockopen("udp://{$host}", $port, $errno, $errstr);
if (!$fp) {
return;
}
foreach ($sampledData as $stat => $value) {
fwrite($fp, "{$stat}:{$value}");
}
fclose($fp);
} catch (Exception $e) {
}
}
示例9: getRandom
private function getRandom($min, $max)
{
$factor = (double) mt_rand() / (double) mt_getrandmax();
$random = mt_rand($min, $max) * $factor;
$result = $random + $min > $max ? $random : $random + $min;
return round($result, 2);
}
示例10: autologin
function autologin()
{
if ($_COOKIE["autologin"]) {
$data = unserialize($_COOKIE["autologin"]);
if (isset($data['key']) and isset($data['user_id'])) {
$cookiedata = $this->select_cookie($data['user_id'], $data['key']);
if (!is_null($cookiedata)) {
$user_data = serialize(array('user_id' => $cookiedata[0]["id"], 'username' => $cookiedata[0]["username"], 'email' => $cookiedata[0]["email"], 'status' => $cookiedata[0]["activated"] == 1 ? '1' : '0'));
$ip = getenv("REMOTE_ADDR");
$sessid = '';
while (strlen($sessid) < 32) {
$sessid .= mt_rand(0, mt_getrandmax());
}
$session_id = md5(uniqid($sessid, TRUE));
$user_agent = $_SERVER["HTTP_USER_AGENT"];
$now = time();
$time = mktime(gmdate("H", $now), gmdate("i", $now), gmdate("s", $now), gmdate("m", $now), gmdate("d", $now), gmdate("Y", $now));
$aryCookie = unserialize($_COOKIE['ci_session']);
$this->clearsession($aryCookie['session_id']);
setcookie('ci_session', '', time() - 1, '/');
$sessiondata = $this->creatsession($session_id, $ip, $user_agent, $time, $user_data);
$ci_session_data = serialize(array('session_id' => $session_id, 'ip_address' => $_SERVER['REMOTE_ADDR'], 'user_agent' => $user_agent, 'last_activity' => $time));
setcookie('autologin', serialize(array('user_id' => $data['user_id'], 'key' => $data['key'])), time() + 60 * 60 * 24 * 31 * 2, '/');
//setcookie('ci_session',$ci_session_data,0,'/');
//print_r($_COOKIE['ci_session']);
$this->update_user($data['user_id']);
return $session_id;
}
}
}
return FALSE;
}
示例11: init
function init()
{
global $gcInternal, $gcProbability;
if ($gcInternal === true && ($gcProbability === 1.0 || mt_rand() / mt_getrandmax() < $gcProbability)) {
runGc();
}
}
示例12: logisticWithoutKey
/**
* 无key方式访问
* @return $this
*/
public function logisticWithoutKey()
{
$temp = mt_rand() / mt_getrandmax();
$url = 'http://www.kuaidi100.com/query?type=' . $this->company_code . '&postid=' . $this->logistic_num . '&id=1&valicode=&temp=' . $temp;
//初始化curl
$ch = curl_init();
//设置超时
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/" . self::randomIp() . " Safari/536.11");
$res = curl_exec($ch);
curl_close($ch);
$this->data = json_decode($res, true);
if (is_array($this->data) && array_key_exists('status', $this->data)) {
$this->status = $this->data['status'];
}
if (is_array($this->data) && array_key_exists('message', $this->data)) {
$this->message = $this->data['message'];
}
if (is_array($this->data) && array_key_exists('state', $this->data)) {
$this->state = $this->data['state'];
}
return $this;
}
示例13: getRandomNumber
/**
* Return a random number in the specified range
*
* @param $min [optional]
* @param $max [optional]
* @return int A random integer value between min (or 0) and max
*/
public static function getRandomNumber($min = 0, $max = null)
{
if (null === $max) {
$max = mt_getrandmax();
}
$range = $max - $min + 1;
$offset = 0;
if (function_exists('openssl_random_pseudo_bytes')) {
// use openssl lib if it is installed
$bytes = openssl_random_pseudo_bytes(PHP_INT_SIZE);
$hex = bin2hex($bytes);
// hex() doubles the length of the string
$offset = abs(hexdec($hex) % $range);
// random integer from 0 to $range
} elseif ($fp = @fopen('/dev/urandom', 'rb')) {
// attempt to use /dev/urandom if it exists but openssl isn't available
$bytes = @fread($fp, PHP_INT_SIZE);
$hex = bin2hex($bytes);
// hex() doubles the length of the string
$offset = abs(hexdec($hex) % $range);
// random integer from 0 to $range
fclose($fp);
} else {
// fallback to mt_rand() if all else fails
mt_srand(mt_rand() + 100000000 * microtime() % PHP_INT_MAX);
return mt_rand($min, $max);
// random integer from $min to $max
}
return $min + $offset;
// random integer from $min to $max
}
示例14: array_random
function array_random(array $array, $num = 1)
{
return array_random_callback($array, function () {
$ramdom = ramdom_int();
return $ramdom !== false ? floatval($ramdom) / floatval(PHP_INT_MAX + 1.0) : floatval(mt_rand()) / floatval(mt_getrandmax() + 1.0);
}, $num);
}
示例15: load
/**
* {@inheritDoc}
*/
public function load(ObjectManager $manager)
{
$faker = $this->getFaker();
$fly1 = new Fly();
$fly1->setName('chateau des vaux');
$fly1->setLatitude('48');
$fly1->setLongitude('1.0');
$fly1->setDescription('magnifique chateau de la region ');
$fly1->setCategory($faker->randomElement($fly1->getCategoryValues()));
$manager->persist($fly1);
$manager->flush();
$lon_min = -1.0522795;
$lon_max = 6.7260408;
$lat_min = 42.4838724;
$lat_max = 49.66374;
foreach (range(1, 20) as $id) {
$fly = new Fly();
$fly->setName($faker->userName);
$fly->setDescription($faker->realText(250));
$fly->setLatitude(mt_rand() / mt_getrandmax() * ($lat_max - $lat_min) + $lat_min);
$fly->setLongitude(mt_rand() / mt_getrandmax() * ($lon_max - $lon_min) + $lon_min);
$fly->setCategory($faker->randomElement($fly1->getCategoryValues()));
$manager->persist($fly);
}
$manager->flush();
}