01006345185428526635475  1               0PGPP    /   0101          FFVV               ORHSPTXW4L          HUANG/YU ZHOU 
02008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
03008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
04008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
05008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
98008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
01008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
02008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
............................................文本开头两个字符是从01-98 为一个循环,我想做的是01-98看成一个数组
结果应该为:
0101006345185428526635475  1               0PGPP    /   0101          FFVV               ORHSPTXW4L          HUANG/YU ZHOU 
0102026644525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
0103002444525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
0104008744525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
0105003444525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
0198085444525428526635475  2               0PGPP    /   0101          FFVV               ORHSPTXW4L          TEST/TEST
0201008744525428526633333  2               0PGPP    /   0101          FFVV               UHJKIOOPLLL          BBHYH/BBH
0202008744525428526633333  2               0PGPP    /   0101          FFVV               UHJKIOOPLLL          BBHYH/BBH

解决方案 »

  1.   

    $a = file('d01.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    foreach($a as $v) $r[] = substr($v, -13);
    array_multisort($r, SORT_DESC, $a);
    $t = 1;
    foreach($a as $k=>$v) {
      if($k && $r[$k]!=$r[$k-1]) $t++;
      $a[$k] = sprintf('%02d %s', $t, $v);
    }
    print_r($a);
    Array
    (
        [0] => 01 01 00634518 9998785211452
        [1] => 01 02 00634519 9998785211452
        [2] => 01 03 00634520 9998785211452
        [3] => 01 04 00634521 9998785211452
        [4] => 01 05 00634522 9998785211452
        [5] => 01 07 00634523 9998785211452
        [6] => 01 08 00634524 9998785211452
        [7] => 01 11 00634525 9998785211452
        [8] => 01 98 00634526 9998785211452
        [9] => 02 01 01395793 5540252365255
        [10] => 02 02 01395794 5540252365255
        [11] => 02 03 01395795 5540252365255
        [12] => 02 04 01395796 5540252365255
        [13] => 02 05 01395797 5540252365255
        [14] => 02 07 01395798 5540252365255
        [15] => 02 08 01395799 5540252365255
        [16] => 02 09 01395800 5540252365255
        [17] => 02 11 01395801 5540252365255
        [18] => 02 98 01395802 5540252365255
    )