[英]PHP generate a random number using todays date
我正在嘗試分配一個內容塊(在網頁上)一個隨機生成的數字,該數字基於今天的日期(無論將是什么)和固定數字。 由於某種原因,輸出的數字種類存在顯着差異。 例如,當我在本地測試我的代碼時,生成的數字對我來說足夠好(正面)但是在實際的實時服務器上它們通常是相反的並且是負數。
這是我的一個班輪:
<?php $today=date('YmdHi'); echo rand(201203140906, $today); ?>
基本上'201203140906'是年,月,日,小時。
這是好事還是壞事? 有沒有更好的方法來做到這一點?
在32位系統上,INT中可以保存的最大值是2147483647。
http://php.net/manual/en/language.types.integer.php
如果本地計算機是64位且服務器是32位,則它們將具有不同的大小限制。 服務器將無法處理與201203140906一樣大的整數。
您可以隨機生成較小的數字,然后將其添加到201203140906。
也許這樣:
$today = date('YmdHi');
$startDate = date('YmdHi', strtotime('2012-03-14 09:06:00'));
$range = $today - $startDate;
$rand = rand(0, $range);
echo "$rand and " . ($startDate + $rand);
或者您可以這樣做以在過去十天內生成隨機日期:
$today = date('YmdHi');
$startDate = date('YmdHi', strtotime('-10 days'));
$range = $today - $startDate;
$rand = rand(0, $range);
echo "$rand and " . ($startDate + $rand);
<?php
$then = strtotime('2012-03-14 09:06:00');
$now = time();
for($i=0; $i<100; $i++) echo date('YmdHi', rand($then, $now)), '<br>';
?>
順便說一下......你也可以使用“uniqid()”
鑒於您在評論中的解釋,您可以使用shuffle()函數解決您的問題。 您可以有兩個數組,一個是日期列表,另一個是您希望隨機傳播的數據,然后只需從混洗數據中讀取。 由於沒有代碼示例,我會將詳細信息留給您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.