2017-02-01 16 views
-2
$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; 

私はそれを出力するとき何が間違っている、それは私に同じ番号を与えるそれは私に同じ数字を与えないでください??PHP繰り返しを使わないで乱数を生成する

答えて

1

基本的にはrandメソッドのシードを変更していません。シードが同じで、同じ数を生成するたびに

この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()を使用することができます。http://php.net/manual/en/function.srand.php

は、以下のコードをチェックしてください。

関連する問題