Php 如何从洗牌foreach获取完整值?我需要生成一个唯一的字母数字代码,也将有洗牌模式

Php 如何从洗牌foreach获取完整值?我需要生成一个唯一的字母数字代码,也将有洗牌模式,php,Php,我想生成同样改变模式的字母数字代码(例如D8M4、23EH、4OP4)。但是当我尝试将$result放在foreach之外时,它只显示一个随机数的字母。如何实现这种随机字母数字代码?将每个字符/数字添加到数组中,并在最后内爆 $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[

我想生成同样改变模式的字母数字代码(例如D8M4、23EH、4OP4)。但是当我尝试将
$result
放在foreach之外时,它只显示一个随机数的字母。如何实现这种随机字母数字代码?

将每个字符/数字添加到数组中,并在最后内爆

$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;
您可以简单地使用函数,而不是foreach

    $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 );

<?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);