6

我正在尝试创建一个将重复功能 X 次的应用程序。每次,该函数都会生成一个随机数。生成代码后,代码将创建一个包含新随机数的数组。任何帮助,将不胜感激。

我有创建随机数并将其连字符连接的代码,但我无法调用函数 cardNumber 重复自身 x 次并将结果放入数组中。

function hyphenate($str) {
    return implode("-", str_split($str, 4));
}

function cardNumber() { 
    for ($s = '', $i = 0, $z = strlen($a = 'ABCDEFGHJKLMNOPQRSTUVWXYZ')-1; $i != 2; $x =      rand(0,$z), $s .= $a{$x}, $i++);

    $uid = uniqid(true);
    $ccn = substr_replace($uid, $s, 0, 0);
    $upperccn = strtoupper($ccn);
    $editedccn = hyphenate($upperccn);
    return $editedccn;
};

$array = array(str_repeat(cardNumber(), 2));
var_dump ($array);
4

3 回答 3

19

只需使用一个循环:

$i = 0;
$times_to_run = 16;
$array = array();
while ($i++ < $times_to_run)
{
    $array[] = cardNumber();
}
于 2013-01-16T20:47:47.780 回答
13

这是一种更易读的方法,也更容易输入

foreach(range(1,20) as $i) { 
   ...
}
于 2017-01-23T14:04:18.163 回答
5
$num = amount of times to execute
for($i =0; $i < $num; $i++){
    $array[] = cardNumber();
}
#then
var_dump($array);
于 2013-01-16T20:48:56.077 回答