同时循环遍历3个数组php

时间:2018-02-13 17:28:48

标签: php

一个总的菜鸟问题,但我在这里:

我有3个数组(数字,字母和其他字符),通常。

我需要基本上提出可以创建随机密码的代码。而且我必须拥有3个数组......如何通过它们来获取每个数组?我很困惑,请有人指出我正确的方向。谢谢

1 个答案:

答案 0 :(得分:0)

因此,我们将循环N次并从您拥有的每个数组中选择一个rand值

<?php
$length = 32; //length of random password 
$a1 = str_split('0123456789'); // convert to array
$a2 = str_split('%^*+~?!'); //convert to array
$a3 = str_split('abcdefghigklmnopqrstuvwxyz'); // convert to array

$result = ""; //final random password

for($i = 0; $i < $length; $i++){
    //choose random array from the three a1, a2, a3
    //then choose random value from the chosen array
    // note: array_rand is a built-in PHP function
    // that accepts an array as the first parameter
    // and number of random elements to pick out 
    // as a second optional parameter that defaults to 1
    $values = [$a1,$a2,$a3];
    $chosen = array_rand($values);

    $result .= $values[$chosen][array_rand($values[$chosen])];
}
 //print the result out
 echo $result;

?>

我希望这会有所帮助!