久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

在 PHP 中,如何生成一個(gè)大的偽隨機(jī)數(shù)?

In PHP, how do I generate a big pseudo-random number?(在 PHP 中,如何生成一個(gè)大的偽隨機(jī)數(shù)?)
本文介紹了在 PHP 中,如何生成一個(gè)大的偽隨機(jī)數(shù)?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我正在尋找一種使用 PHP 生成隨機(jī)數(shù)的方法,例如:

I'm looking for a way to generate a big random number with PHP, something like:

mt_rand($lower, $upper);

我見(jiàn)過(guò)的更接近的是 gmp_random() 但是它不允許我僅指定每個(gè)肢體的位數(shù)(我不知道它是什么).

The closer I've seen is gmp_random() however it doesn't allow me to specify the lower and upper boundaries only the number of bits per limb (which I've no idea what it is).

Axsuuls 的答案似乎非常接近我想要的并且與 gmp_random 非常相似,但是在一種情況下似乎只有一個(gè)缺陷.

假設(shè)我不想在兩者之間得到一個(gè)隨機(jī)數(shù):

Suppose I wan't to get a random number between:

  • 1225468798745475454898787465154

和:

  • 1225468798745475454898787465200

所以如果函數(shù)被調(diào)用BigRandomNumber():

So if the function is called BigRandomNumber():

BigRandomNumber($length = 31);

這很容易返回超出指定邊界的 9999999999999999999999999999999.

This can easily return 9999999999999999999999999999999 which is out of the specified boundary.

如何使用最小/最大邊界而不是長(zhǎng)度值?

BigRandomNumber('1225468798745475454898787465154', '1225468798745475454898787465200');

這應(yīng)該返回 1225468798745475454898787465 [154 .. 200] 之間的隨機(jī)數(shù).

This should return a random number between 1225468798745475454898787465 [154 .. 200].

作為參考,我認(rèn)為解決方案可能必須使用 此問(wèn)題中提供的函數(shù).

For the reference I believe the solution might have to make use of the function supplied in this question.

上面的帖子被刪除了,這里是:

The above post was deleted, here it is:

function compare($number1, $operator, $number2) {
  $x = bccomp($number1, $number2);

  switch($operator) {
    case '<':
      return -1===$x;
    case '>':
      return 1===$x;
    case '=':
    case '==':
    case '===':
      return 0===$x;
    case '!=':
    case '!==':
    case '<>':
      return 0!==$x;
  }
}

推薦答案

嘗試以下操作:

function BigRandomNumber($min, $max) {
  $difference   = bcadd(bcsub($max,$min),1);
  $rand_percent = bcdiv(mt_rand(), mt_getrandmax(), 8); // 0 - 1.0
  return bcadd($min, bcmul($difference, $rand_percent, 8), 0);
}

數(shù)學(xué)如下:將最小值和最大值之間的差值乘以一個(gè)隨機(jī)百分比,然后加上最小值(四舍五入為整數(shù)).

The math is as following: multiply the difference between the minimum and maximum by a random percentage, and add to the minimum (with rounding to an int).

這篇關(guān)于在 PHP 中,如何生成一個(gè)大的偽隨機(jī)數(shù)?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Action View Helper in Zend - Work around?(Zend 中的動(dòng)作視圖助手 - 解決方法?)
Is this a good way to match URI to class/method in PHP for MVC(這是將 URI 與 PHP 中用于 MVC 的類/方法匹配的好方法嗎)
Where do I save partial (views) in Zend Framework, to be accessible for all Views in my App?(我在哪里保存 Zend Framework 中的部分(視圖),以便我的應(yīng)用程序中的所有視圖都可以訪問(wèn)?) - IT屋-程序員軟件開(kāi)發(fā)技術(shù)
Having a single entry point to a website. Bad? Good? Non-issue?(有一個(gè)網(wǎng)站的單一入口點(diǎn).壞的?好的?沒(méi)問(wèn)題?)
Is MVC + Service Layer common in zend or PHP?(MVC + 服務(wù)層在 Zend 或 PHP 中常見(jiàn)嗎?)
Hello World example in MVC approach to PHP(PHP MVC 方法中的 Hello World 示例)
主站蜘蛛池模板: 精品视频一区二区 | 久久久久久国产免费视网址 | 日韩精品视频中文字幕 | 久久精品国产久精国产 | 久久亚洲春色中文字幕久久久 | 久久久久久国产精品免费免费 | 日韩欧美三级 | 国产精品18久久久久久久 | 成人免费视频网站在线看 | 人人看人人干 | 四虎成人精品永久免费av九九 | 日韩欧美一区二区三区免费观看 | 妞干网视频 | 在线亚洲免费 | 亚洲欧美日本在线 | 亚洲综合字幕 | 国产午夜精品久久久久免费视高清 | 成人免费在线播放 | 国产精品久久久久久一区二区三区 | 一区二区三区精品视频 | 特黄特色大片免费视频观看 | 国产偷录视频叫床高潮对白 | 男女午夜免费视频 | 91麻豆产精品久久久久久夏晴子 | 亚洲不卡一 | 国产ts人妖系列高潮 | 国产91精品久久久久久久网曝门 | 久久久精彩视频 | 日韩一区二区在线视频 | 中文字幕亚洲视频 | 成人久久18免费网站图片 | 九九九久久国产免费 | 天堂一区 | 欧美二区三区 | 欧美激情在线精品一区二区三区 | 国产精品国产成人国产三级 | 一道本不卡 | 在线毛片网 | 亚洲精品乱码久久久久久按摩观 | 亚洲精品日韩综合观看成人91 | av在线天堂网 |