【问题标题】:Random value in an given ARRAY?给定数组中的随机值?
【发布时间】:2019-03-02 15:59:53
【问题描述】:

我已经编写了以下代码来查找数组中的随机值。

function generateRandomString($length = 1) {
    return substr(str_shuffle(str_repeat($x='GXYZ', ceil($length/strlen($x)) )),1,$length);
}

$numbers_rev = array("1","2","3","4","5","6","7","8","9","0","."); 
$letter_rev = array("A","L","B","E","R","T","O","I","N",generateRandomString(),"/");    

$phrase_rev = "5000";

echo $rev = str_replace($numbers_rev,$letter_rev,$phrase_rev); 

它给出的输出为:RXXXRZZZRYYYRGGG

我期待输出:RZGXZ

请帮忙,谢谢

【问题讨论】:

  • 生成随机函数仅在创建$letter_rev 数组时被调用——因此0 的交换被设置为X,Y,G,Z。如果您每次都想设置网络随机数,我建议使用带有映射的 for-loop 进行转换

标签: php arrays random


【解决方案1】:
$phrase_rev="5000";

$str_ctr=strlen($phrase_rev);
$arr1 = str_split($phrase_rev);

for($ctr=0;$ctr<$str_ctr;$ctr++){   

    $shuffled=substr(str_shuffle('XYZG'),0,1);
    $aa=$arr1[$ctr];
    $numbers_revs=array("1","2","3","4","5","6","7","8","9","0","."); 
    $letter_revs=array("A","L","B","E","R","T","O","I","N",$shuffled,"/");
    echo $revs = str_replace($numbers_revs,$letter_revs,$aa);
}

输出现在是随机的,但字符重复...希望有人可以改进这一点。谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 2021-06-05
    • 1970-01-01
    相关资源
    最近更新 更多