Php生成随机数而不重复

时间:2017-02-01 18:39:10

标签: random numbers generated-code

$C = $_POST['Cc'];
$X = $_POST['X'];
$CX = $_POST['Cc'] . $_POST['X'];

$NC = preg_replace_callback("/x/" ,function() {return rand(0,9);}, $CX);

            $New = $NC ;
            $NNew =  str_repeat($New,10);
            echo $NNew;

当我输出它时出了什么问题,它给了我相同的数字如何使它不给我相同的数字??

1 个答案:

答案 0 :(得分:1)

基本上你没有改变rand方法的种子。每次它获得相同的种子并生成相同的数字。

阅读本PHP手册:http://php.net/manual/en/function.srand.php

检查下面的代码段:

<?php

// seed with microseconds
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return $sec + $usec * 1000000;
}
srand(make_seed());
$randval = rand(0,9);

echo $randval;


?>

或者你可以使用mt_rand(),每次执行都会以不同的方式播种。