列出所有0-9 和 a-z组成的三个字符,注意执行的速度

解决方案 »

  1.   


    $chars='abdefghijklmnopqrstuvwxyz0123456789';
    for($i=0;$i<3;$i++){
    $str .=substr($chars,rand(0,strlen($chars)-1),1); 
    }
      

  2.   

    LZ的面试题?
    /**没试过,跟直接循环比效率如何**/
    for($i=0,$n=pow(37, 3);$i<$n;$i++)
    {
    echo str_pad(base_convert($i, 10, 36), 3, "0", STR_PAD_LEFT) . '<br />';  
    }
      

  3.   

    搞错了,应该是pow(36 3);另外,效率应该直接循环输出比较好毕竟不用函数
    上面的用来定位数据还可以
      

  4.   

    $chars='abcdefghijklmnopqrstuvwxyz0123456789';
    for($i=0;$i<36;$i++){
    for($j=$i;$j<36;$j++){
    for($k=$j;$k<36;$k++){
    echo $chars{$i}.$chars{$j}.$chars{$k}."<br>";
    if($i==$j && $k!=$j){
    echo $chars{$i}.$chars{$k}.$chars{$j}."<br>";
    echo $chars{$k}.$chars{$i}.$chars{$j}."<br>";
    }elseif($i!=$j && $k!=$j){
    echo $chars{$i}.$chars{$k}.$chars{$j}."<br>";
    echo $chars{$k}.$chars{$i}.$chars{$j}."<br>";

    echo $chars{$j}.$chars{$i}.$chars{$k}."<br>";
    echo $chars{$j}.$chars{$k}.$chars{$i}."<br>";
    echo $chars{$k}.$chars{$j}.$chars{$i}."<br>";
    }

    }
    }
    }