1.用0到9十个数字构造一个二级目录,每个目录名字有2位数字如00/79并把所有的目录打印出来?lamp

解决方案 »

  1.   


    <?php
    $tmp = range(0,99);
    $res = array();
    foreach($tmp as $val){
    if($val < 10){
    array_push($res,'0'.$val);
    }else{
    array_push($res,$val);
    }
    }
    print_r($res);
    ?>
    #结果:
    Array ( [0] => 00 [1] => 01 [2] => 02 [3] => 03 [4] => 04 [5] => 05 [6] => 06 [7] => 07 [8] => 08 [9] => 09 [10] => 10 [11] => 11 [12] => 12 [13] => 13 [14] => 14 [15] => 15 [16] => 16 [17] => 17 [18] => 18 [19] => 19 [20] => 20 [21] => 21 [22] => 22 [23] => 23 [24] => 24 [25] => 25 [26] => 26 [27] => 27 [28] => 28 [29] => 29 [30] => 30 [31] => 31 [32] => 32 [33] => 33 [34] => 34 [35] => 35 [36] => 36 [37] => 37 [38] => 38 [39] => 39 [40] => 40 [41] => 41 [42] => 42 [43] => 43 [44] => 44 [45] => 45 [46] => 46 [47] => 47 [48] => 48 [49] => 49 [50] => 50 [51] => 51 [52] => 52 [53] => 53 [54] => 54 [55] => 55 [56] => 56 [57] => 57 [58] => 58 [59] => 59 [60] => 60 [61] => 61 [62] => 62 [63] => 63 [64] => 64 [65] => 65 [66] => 66 [67] => 67 [68] => 68 [69] => 69 [70] => 70 [71] => 71 [72] => 72 [73] => 73 [74] => 74 [75] => 75 [76] => 76 [77] => 77 [78] => 78 [79] => 79 [80] => 80 [81] => 81 [82] => 82 [83] => 83 [84] => 84 [85] => 85 [86] => 86 [87] => 87 [88] => 88 [89] => 89 [90] => 90 [91] => 91 [92] => 92 [93] => 93 [94] => 94 [95] => 95 [96] => 96 [97] => 97 [98] => 98 [99] => 99 ) 
      

  2.   

    如果不止两级,那就需要多一此处理了。
    // 递归目录名,理论上支持无限级目录,max是数字最大值
    function loopNames($level, $max)
    {
        static $data;
        static $name;    for($i = 0; $i <= $max; $i++)
        {
            if ($level > 0)
            {
                $name[$level] = sprintf("%02d", $i);
                loopNames($level - 1, $max);
            }
            else
            {
                $data[] = implode('/', $name);
                break;
            }
        }
        return $data;
    }set_time_limit(0);
    $t1 = microtime(true);
    $names = loopNames(2, 99);
    echo microtime(true) - $t1;
    print_r($names);
    // 输出结果10000条
    /*
    4.5159900188446
    Array
    (
        [0] => 00/00
        [1] => 00/01
        [2] => 00/02
        [3] => 00/03
        [4] => 00/04
        [5] => 00/05
        [6] => 00/06
        [7] => 00/07
        [8] => 00/08
        [9] => 00/09
        [10] => 00/10
        [11] => 00/11
        [12] => 00/12
        [13] => 00/13
        [14] => 00/14
        [15] => 00/15
        [16] => 00/16
        [17] => 00/17
        [18] => 00/18
        [19] => 00/19
    ...
    */
      

  3.   

    该题如果使用mkdir()应该怎样做,给点思路