function createStr($num = 700, $len = 6){ $numbers = range(0, 9); $letters = range('a', 'z'); $uppers = range('A', 'Z'); $elements = array_merge($numbers, $letters, $uppers); $n = 0; $strings = []; for($i = 0;$i < $num;$i++){ $str = ''; $keys = array_rand($elements, $len); foreach($keys as $key){ $str .= $elements[$key]; } if(in_array($str, $strings)){ $i--; unset($str); }else{ $strings[] = $str; unset($str); // echo $i. '->' .$str. "\r\n"; } $n++; } print_r($strings);exit; // echo "\r\n\r\n".$n; } 问题:
当使用 $strings 数组保存时,在 $num = 630 以上时会造成无响应(命令行也是不出结果,一直跑),而630以下,则正常。
P.S. 目前只测了 $len = 6 的情况。
P.S.2 当使用正常的 echo 时,程序可以跑通。
