如何将生成的字母数字代码范围转换为数组

时间:2017-09-10 15:26:06

标签: php arrays alphanumeric

 The below code is what I have written
<?php
 $pincode="" ;
function getPinCode($length){
 $pincode = "";
 $codeAlphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 $codeAlphabet.= "0123456789";

 $max = strlen($codeAlphabet); // edited
 for ($i=0; $i < $length; $i++) {
    $pincode.= $codeAlphabet[random_int(0, $max-1)];//to output the combined code
 implode('', $pincode)// to convert the code to array
 $pincode= array()//explicitly declare $pincode var
 }
​return $pincode;
 }

for ($n=0;$n<8; $n++){
echo getPinCode(11);
echo ", ";
print_r($pincode);
}?>

//如果我运行上面的代码就会出错      1.数组到字符串转换      2.传递了Implode()无效参数。      如果我评论那两行错误/起源它会生成8个不同的代码而不是数组。

我想做的是生成一组代码/使用php并将它们组成一个数组。请问我到底出了什么问题。太感谢了

2 个答案:

答案 0 :(得分:1)

您可以简单地为$ pincode数组分配随机值

for ($i=0; $i < $length; $i++) {
   $pincode[$i]= $codeAlphabet[random_int(0, $max-1)];//array of the code 
}

答案 1 :(得分:0)

 implode('', $pincode)// to convert the code to array
 $pincode= array()//explicitly declare $pincode var

您没有分配implode的返回值,那么您只是为$ pincode创建一个空数组。