如何生成不同的随机数以便在数组中存储

时间:2015-03-05 11:28:42

标签: php arrays

我不确定但是当我print_r数组时,两个随机生成的字符串都是相同的而不是不同的。

$amount_of_files = 2;
$generated_file_names = array();
for($i = 0; $i < $amount_of_files; $i++){
    $generated_file_names[] = substr(md5(time()), 0, 10);
}

3 个答案:

答案 0 :(得分:0)

time()将其值返回到最接近的秒 - 您的代码执行的时间远远少于此值,因此值相同。如果您想要数组中每个项目的随机值,请改用rand()mt_rand()

答案 1 :(得分:0)

你可以这样使用

<?php

$amount_of_files = 2;
$generated_file_names = array();
for($i = 0; $i < $amount_of_files; $i++){
    $generated_file_names[] = substr(md5(rand()),0,10);
}

print_r($generated_file_names);

?>

答案 2 :(得分:0)

你需要microtime() php正在快速循环0到2而time()没有改变所以md5是相同的,而sub_str对所有人都是相同的。