$num = range('0', '9');
$alpha = range('A','Z');
$num[mt_rand(0, 9)];
$alpha[mt_rand(0, 25)];
$res = array($num[mt_rand(0, 9)], $alpha[mt_rand(0, 25)], $num[mt_rand(0, 9)], $alpha[mt_rand(0, 25)]);
shuffle($res);
foreach($res as $rand){
$result = $rand;
}
echo $result;
我想生成也会改变模式的字母数字代码(例如 D8M4、23EH、4OP4(。但是当我尝试将$result
带到foreach之外时,它只显示一个随机数量的字母。如何实现此随机字母数字代码?
您可以简单地使用内爆函数,而不是foreach。
<?php
$num = range('0', '9');
$alpha = range('A','Z');
$num[mt_rand(0, 9)];
$alpha[mt_rand(0, 25)];
$res = array($num[mt_rand(0, 9)], $alpha[mt_rand(0, 25)], $num[mt_rand(0, 9)], $alpha[mt_rand(0, 25)]);
shuffle($res);
echo implode($res);
将每个字符/数字添加到数组中并在末尾内爆。
$num = range('0', '9');
$alpha = range('A','Z');
$num[mt_rand(0, 9)];
$alpha[mt_rand(0, 25)];
$res = array( $num[mt_rand(0, 9)], $alpha[mt_rand(0, 25)], $num[mt_rand(0, 9)], $alpha[mt_rand(0, 25)] );
shuffle( $res );
foreach( $res as $rand ) $result[] = $rand;
echo implode( '',$result );