Помочь перебрать циклом регулярку

1.59K
.
(\/)____o_O____(\/)

aNNiPAk, по сути надо разработать общий скрипт для вариантов. а именно для твоего случая, за то время что здесь идёт обсуждение, можно было бы уже на бумажке все перебрать руками)

.
aNNiPAk

Чтобы легче было, можете этот пароль ptayyjp/p2k7 с оригиналом сравнивать(PTaYyJp/p2k7). Код reaper, не генерирует оригинал(PTaYyJp/p2k7) вот этого ptayyjp/p2k7 , поэтому тема еще актуальна. Хотя он ближе всех подошел к пьедесталу

.

Понял, почему мой вариант не до конца подходит. Там интервал между символами ещё надо учитывать. Короче надо подумать и переделать алгоритм. Ну или нагуглить какой-нибудь существующий.

.
(\/)____o_O____(\/)

aNNiPAk, набыдлокодил что то ))

$original = 'ptayyjp/p2k7';
#$original = 'qw3er4t';

$array = str_split($original, 2);

if ((sizeof($array) % 2) != 0) {
    $array[] = '';
}

function pr_start($str) {
    if ($str == '') {
        return $str; 
    } else {
        $res = array();
        $res[] = strtolower($str);    
        $res[] = strtoupper($str);
    
        if (strlen($str) > 1) {
            $pice = array();
            $pice[] = $str[0];
            $pice[] = $str[1];
            $res[] = strtoupper($pice[0]) . strtolower($pice[1]);
            $res[] = strtolower($pice[0]) . strtoupper($pice[1]);
        }
    
        return array_unique($res);
    }
}


function pr_merge($a, $b) {
    if (strlen($a[0]) < 3) {
        $a = pr_start($a);
        $b = pr_start($b);
    }
    if ($b == '') {
        return $a;
    }
    $res = array();
    foreach ($a as $c) {
        foreach ($b as $d) {
            $res[] = $c . $d;    
        }
    }
    
    return array_unique($res);
}

function run($array) {
    $cnt = sizeof($array);
    $res = array();
    $rs = array();
    $i = 0;
    $a = 0;
    $b = 1;
    while ($i < $cnt / 2) {
        $res[] = array_unique(pr_merge($array[$a], $array[$b]));

        $i++; $a+=2; $b+=2;
    }
    


    if (sizeof($res) >= 2) {
        run($res);
    } else {
        return print_r($res[0]);
        #return $res[0];
    }
        
    
    
}

$rs = run($array);

echo $rs;
.
Koenig
(\/)____o_O____(\/)
512 штук (+/-)
Array
(
[0] => ptayyjp/p2k7
[1] => ptayyjp/p2K7
[2] => ptayyjp/P2k7
[3] => ptayyjp/P2K7
[4] => ptayyjP/p2k7
[5] => ptayyjP/p2K7
[6] => ptayyjP/P2k7
[7] => ptayyjP/P2K7
[8] => ptayYJp/p2k7
[9] => ptayYJp/p2K7
[10] => ptayYJp/P2k7
[11] => ptayYJp/P2K7
[12] => ptayYJP/p2k7
[13] => ptayYJP/p2K7
[14] => ptayYJP/P2k7
[15] => ptayYJP/P2K7
[16] => ptayYjp/p2k7
[17] => ptayYjp/p2K7
[18] => ptayYjp/P2k7
[19] => ptayYjp/P2K7
[20] => ptayYjP/p2k7
[21] => ptayYjP/p2K7
[22] => ptayYjP/P2k7
[23] => ptayYjP/P2K7
[24] => ptayyJp/p2k7
[25] => ptayyJp/p2K7
[26] => ptayyJp/P2k7
[27] => ptayyJp/P2K7
[28] => ptayyJP/p2k7
[29] => ptayyJP/p2K7
[30] => ptayyJP/P2k7
[31] => ptayyJP/P2K7
[32] => ptAYyjp/p2k7
[33] => ptAYyjp/p2K7
[34] => ptAYyjp/P2k7
[35] => ptAYyjp/P2K7
[36] => ptAYyjP/p2k7
[37] => ptAYyjP/p2K7
[38] => ptAYyjP/P2k7
[39] => ptAYyjP/P2K7
[40] => ptAYYJp/p2k7
[41] => ptAYYJp/p2K7
[42] => ptAYYJp/P2k7
[43] => ptAYYJp/P2K7
[44] => ptAYYJP/p2k7
[45] => ptAYYJP/p2K7
[46] => ptAYYJP/P2k7
[47] => ptAYYJP/P2K7
[48] => ptAYYjp/p2k7
[49] => ptAYYjp/p2K7
[50] => ptAYYjp/P2k7
[51] => ptAYYjp/P2K7
[52] => ptAYYjP/p2k7
[53] => ptAYYjP/p2K7
[54] => ptAYYjP/P2k7
[55] => ptAYYjP/P2K7
[56] => ptAYyJp/p2k7
[57] => ptAYyJp/p2K7
[58] => ptAYyJp/P2k7
[59] => ptAYyJp/P2K7
[60] => ptAYyJP/p2k7
[61] => ptAYyJP/p2K7
[62] => ptAYyJP/P2k7
[63] => ptAYyJP/P2K7
[64] => ptAyyjp/p2k7
[65] => ptAyyjp/p2K7
[66] => ptAyyjp/P2k7
[67] => ptAyyjp/P2K7
[68] => ptAyyjP/p2k7
[69] => ptAyyjP/p2K7
[70] => ptAyyjP/P2k7
[71] => ptAyyjP/P2K7
[72] => ptAyYJp/p2k7
[73] => ptAyYJp/p2K7
[74] => ptAyYJp/P2k7
[75] => ptAyYJp/P2K7
[76] => ptAyYJP/p2k7
[77] => ptAyYJP/p2K7
[78] => ptAyYJP/P2k7
[79] => ptAyYJP/P2K7
[80] => ptAyYjp/p2k7
[81] => ptAyYjp/p2K7
[82] => ptAyYjp/P2k7
[83] => ptAyYjp/P2K7
[84] => ptAyYjP/p2k7
[85] => ptAyYjP/p2K7
[86] => ptAyYjP/P2k7
[87] => ptAyYjP/P2K7
[88] => ptAyyJp/p2k7
[89] => ptAyyJp/p2K7
[90] => ptAyyJp/P2k7
[91] => ptAyyJp/P2K7
[92] => ptAyyJP/p2k7
[93] => ptAyyJP/p2K7
[94] => ptAyyJP/P2k7
[95] => ptAyyJP/P2K7
[96] => ptaYyjp/p2k7
[97] => ptaYyjp/p2K7
[98] => ptaYyjp/P2k7
[99] => ptaYyjp/P2K7
[100] => ptaYyjP/p2k7
[101] => ptaYyjP/p2K7
[102] => ptaYyjP/P2k7
[103] => ptaYyjP/P2K7
[104] => ptaYYJp/p2k7
[105] => ptaYYJp/p2K7
[106] => ptaYYJp/P2k7
[107] => ptaYYJp/P2K7
[108] => ptaYYJP/p2k7
[109] => ptaYYJP/p2K7
[110] => ptaYYJP/P2k7
[111] => ptaYYJP/P2K7
[112] => ptaYYjp/p2k7
[113] => ptaYYjp/p2K7
[114] => ptaYYjp/P2k7
[115] => ptaYYjp/P2K7
[116] => ptaYYjP/p2k7
[117] => ptaYYjP/p2K7
[118] => ptaYYjP/P2k7
[119] => ptaYYjP/P2K7
[120] => ptaYyJp/p2k7
[121] => ptaYyJp/p2K7
[122] => ptaYyJp/P2k7
[123] => ptaYyJp/P2K7
[124] => ptaYyJP/p2k7
[125] => ptaYyJP/p2K7
[126] => ptaYyJP/P2k7
[127] => ptaYyJP/P2K7
[128] => PTayyjp/p2k7
[129] => PTayyjp/p2K7
[130] => PTayyjp/P2k7
[131] => PTayyjp/P2K7
[132] => PTayyjP/p2k7
[133] => PTayyjP/p2K7
[134] => PTayyjP/P2k7
[135] => PTayyjP/P2K7
[136] => PTayYJp/p2k7
[137] => PTayYJp/p2K7
[138] => PTayYJp/P2k7
[139] => PTayYJp/P2K7
[140] => PTayYJP/p2k7
[141] => PTayYJP/p2K7
[142] => PTayYJP/P2k7
[143] => PTayYJP/P2K7
[144] => PTayYjp/p2k7
[145] => PTayYjp/p2K7
[146] => PTayYjp/P2k7
[147] => PTayYjp/P2K7
[148] => PTayYjP/p2k7
[149] => PTayYjP/p2K7
[150] => PTayYjP/P2k7
[151] => PTayYjP/P2K7
[152] => PTayyJp/p2k7
[153] => PTayyJp/p2K7
[154] => PTayyJp/P2k7
[155] => PTayyJp/P2K7
[156] => PTayyJP/p2k7
[157] => PTayyJP/p2K7
[158] => PTayyJP/P2k7
[159] => PTayyJP/P2K7
[160] => PTAYyjp/p2k7
[161] => PTAYyjp/p2K7
[162] => PTAYyjp/P2k7
[163] => PTAYyjp/P2K7
[164] => PTAYyjP/p2k7
[165] => PTAYyjP/p2K7
[166] => PTAYyjP/P2k7
[167] => PTAYyjP/P2K7
[168] => PTAYYJp/p2k7
[169] => PTAYYJp/p2K7
[170] => PTAYYJp/P2k7
[171] => PTAYYJp/P2K7
[172] => PTAYYJP/p2k7
[173] => PTAYYJP/p2K7
[174] => PTAYYJP/P2k7
[175] => PTAYYJP/P2K7
[176] => PTAYYjp/p2k7
[177] => PTAYYjp/p2K7
[178] => PTAYYjp/P2k7
[179] => PTAYYjp/P2K7
[180] => PTAYYjP/p2k7
[181] => PTAYYjP/p2K7
[182] => PTAYYjP/P2k7
[183] => PTAYYjP/P2K7
[184] => PTAYyJp/p2k7
[185] => PTAYyJp/p2K7
[186] => PTAYyJp/P2k7
[187] => PTAYyJp/P2K7
[188] => PTAYyJP/p2k7
[189] => PTAYyJP/p2K7
[190] => PTAYyJP/P2k7
[191] => PTAYyJP/P2K7
[192] => PTAyyjp/p2k7
[193] => PTAyyjp/p2K7
[194] => PTAyyjp/P2k7
[195] => PTAyyjp/P2K7
[196] => PTAyyjP/p2k7
[197] => PTAyyjP/p2K7
[198] => PTAyyjP/P2k7
[199] => PTAyyjP/P2K7
[200] => PTAyYJp/p2k7
[201] => PTAyYJp/p2K7
[202] => PTAyYJp/P2k7
[203] => PTAyYJp/P2K7
[204] => PTAyYJP/p2k7
[205] => PTAyYJP/p2K7
[206] => PTAyYJP/P2k7
[207] => PTAyYJP/P2K7
[208] => PTAyYjp/p2k7
[209] => PTAyYjp/p2K7
[210] => PTAyYjp/P2k7
[211] => PTAyYjp/P2K7
[212] => PTAyYjP/p2k7
[213] => PTAyYjP/p2K7
[214] => PTAyYjP/P2k7
[215] => PTAyYjP/P2K7
[216] => PTAyyJp/p2k7
[217] => PTAyyJp/p2K7
[218] => PTAyyJp/P2k7
[219] => PTAyyJp/P2K7
[220] => PTAyyJP/p2k7
[221] => PTAyyJP/p2K7
[222] => PTAyyJP/P2k7
[223] => PTAyyJP/P2K7
[224] => PTaYyjp/p2k7
[225] => PTaYyjp/p2K7
[226] => PTaYyjp/P2k7
[227] => PTaYyjp/P2K7
[228] => PTaYyjP/p2k7
[229] => PTaYyjP/p2K7
[230] => PTaYyjP/P2k7
[231] => PTaYyjP/P2K7
[232] => PTaYYJp/p2k7
[233] => PTaYYJp/p2K7
[234] => PTaYYJp/P2k7
[235] => PTaYYJp/P2K7
[236] => PTaYYJP/p2k7
[237] => PTaYYJP/p2K7
[238] => PTaYYJP/P2k7
[239] => PTaYYJP/P2K7
[240] => PTaYYjp/p2k7
[241] => PTaYYjp/p2K7
[242] => PTaYYjp/P2k7
[243] => PTaYYjp/P2K7
[244] => PTaYYjP/p2k7
[245] => PTaYYjP/p2K7
[246] => PTaYYjP/P2k7
[247] => PTaYYjP/P2K7
[248] => PTaYyJp/p2k7
[249] => PTaYyJp/p2K7
[250] => PTaYyJp/P2k7
[251] => PTaYyJp/P2K7
[252] => PTaYyJP/p2k7
[253] => PTaYyJP/p2K7
[254] => PTaYyJP/P2k7
[255] => PTaYyJP/P2K7
[256] => Ptayyjp/p2k7
[257] => Ptayyjp/p2K7
[258] => Ptayyjp/P2k7
[259] => Ptayyjp/P2K7
[260] => PtayyjP/p2k7
[261] => PtayyjP/p2K7
[262] => PtayyjP/P2k7
[263] => PtayyjP/P2K7
[264] => PtayYJp/p2k7
[265] => PtayYJp/p2K7
[266] => PtayYJp/P2k7
[267] => PtayYJp/P2K7
[268] => PtayYJP/p2k7
[269] => PtayYJP/p2K7
[270] => PtayYJP/P2k7
[271] => PtayYJP/P2K7
[272] => PtayYjp/p2k7
[273] => PtayYjp/p2K7
[274] => PtayYjp/P2k7
[275] => PtayYjp/P2K7
[276] => PtayYjP/p2k7
[277] => PtayYjP/p2K7
[278] => PtayYjP/P2k7
[279] => PtayYjP/P2K7
[280] => PtayyJp/p2k7
[281] => PtayyJp/p2K7
[282] => PtayyJp/P2k7
[283] => PtayyJp/P2K7
[284] => PtayyJP/p2k7
[285] => PtayyJP/p2K7
[286] => PtayyJP/P2k7
[287] => PtayyJP/P2K7
[288] => PtAYyjp/p2k7
[289] => PtAYyjp/p2K7
[290] => PtAYyjp/P2k7
[291] => PtAYyjp/P2K7
[292] => PtAYyjP/p2k7
[293] => PtAYyjP/p2K7
[294] => PtAYyjP/P2k7
[295] => PtAYyjP/P2K7
[296] => PtAYYJp/p2k7
[297] => PtAYYJp/p2K7
[298] => PtAYYJp/P2k7
[299] => PtAYYJp/P2K7
[300] => PtAYYJP/p2k7
[301] => PtAYYJP/p2K7
[302] => PtAYYJP/P2k7
[303] => PtAYYJP/P2K7
[304] => PtAYYjp/p2k7
[305] => PtAYYjp/p2K7
[306] => PtAYYjp/P2k7
[307] => PtAYYjp/P2K7
[308] => PtAYYjP/p2k7
[309] => PtAYYjP/p2K7
[310] => PtAYYjP/P2k7
[311] => PtAYYjP/P2K7
[312] => PtAYyJp/p2k7
[313] => PtAYyJp/p2K7
[314] => PtAYyJp/P2k7
[315] => PtAYyJp/P2K7
[316] => PtAYyJP/p2k7
[317] => PtAYyJP/p2K7
[318] => PtAYyJP/P2k7
[319] => PtAYyJP/P2K7
[320] => PtAyyjp/p2k7
[321] => PtAyyjp/p2K7
[322] => PtAyyjp/P2k7
[323] => PtAyyjp/P2K7
[324] => PtAyyjP/p2k7
[325] => PtAyyjP/p2K7
[326] => PtAyyjP/P2k7
[327] => PtAyyjP/P2K7
[328] => PtAyYJp/p2k7
[329] => PtAyYJp/p2K7
[330] => PtAyYJp/P2k7
[331] => PtAyYJp/P2K7
[332] => PtAyYJP/p2k7
[333] => PtAyYJP/p2K7
[334] => PtAyYJP/P2k7
[335] => PtAyYJP/P2K7
[336] => PtAyYjp/p2k7
[337] => PtAyYjp/p2K7
[338] => PtAyYjp/P2k7
[339] => PtAyYjp/P2K7
[340] => PtAyYjP/p2k7
[341] => PtAyYjP/p2K7
[342] => PtAyYjP/P2k7
[343] => PtAyYjP/P2K7
[344] => PtAyyJp/p2k7
[345] => PtAyyJp/p2K7
[346] => PtAyyJp/P2k7
[347] => PtAyyJp/P2K7
[348] => PtAyyJP/p2k7
[349] => PtAyyJP/p2K7
[350] => PtAyyJP/P2k7
[351] => PtAyyJP/P2K7
[352] => PtaYyjp/p2k7
[353] => PtaYyjp/p2K7
[354] => PtaYyjp/P2k7
[355] => PtaYyjp/P2K7
[356] => PtaYyjP/p2k7
[357] => PtaYyjP/p2K7
[358] => PtaYyjP/P2k7
[359] => PtaYyjP/P2K7
[360] => PtaYYJp/p2k7
[361] => PtaYYJp/p2K7
[362] => PtaYYJp/P2k7
[363] => PtaYYJp/P2K7
[364] => PtaYYJP/p2k7
[365] => PtaYYJP/p2K7
[366] => PtaYYJP/P2k7
[367] => PtaYYJP/P2K7
[368] => PtaYYjp/p2k7
[369] => PtaYYjp/p2K7
[370] => PtaYYjp/P2k7
[371] => PtaYYjp/P2K7
[372] => PtaYYjP/p2k7
[373] => PtaYYjP/p2K7
[374] => PtaYYjP/P2k7
[375] => PtaYYjP/P2K7
[376] => PtaYyJp/p2k7
[377] => PtaYyJp/p2K7
[378] => PtaYyJp/P2k7
[379] => PtaYyJp/P2K7
[380] => PtaYyJP/p2k7
[381] => PtaYyJP/p2K7
[382] => PtaYyJP/P2k7
[383] => PtaYyJP/P2K7
[384] => pTayyjp/p2k7
[385] => pTayyjp/p2K7
[386] => pTayyjp/P2k7
[387] => pTayyjp/P2K7
[388] => pTayyjP/p2k7
[389] => pTayyjP/p2K7
[390] => pTayyjP/P2k7
[391] => pTayyjP/P2K7
[392] => pTayYJp/p2k7
[393] => pTayYJp/p2K7
[394] => pTayYJp/P2k7
[395] => pTayYJp/P2K7
[396] => pTayYJP/p2k7
[397] => pTayYJP/p2K7
[398] => pTayYJP/P2k7
[399] => pTayYJP/P2K7
[400] => pTayYjp/p2k7
[401] => pTayYjp/p2K7
[402] => pTayYjp/P2k7
[403] => pTayYjp/P2K7
[404] => pTayYjP/p2k7
[405] => pTayYjP/p2K7
[406] => pTayYjP/P2k7
[407] => pTayYjP/P2K7
[408] => pTayyJp/p2k7
[409] => pTayyJp/p2K7
[410] => pTayyJp/P2k7
[411] => pTayyJp/P2K7
[412] => pTayyJP/p2k7
[413] => pTayyJP/p2K7
[414] => pTayyJP/P2k7
[415] => pTayyJP/P2K7
[416] => pTAYyjp/p2k7
[417] => pTAYyjp/p2K7
[418] => pTAYyjp/P2k7
[419] => pTAYyjp/P2K7
[420] => pTAYyjP/p2k7
[421] => pTAYyjP/p2K7
[422] => pTAYyjP/P2k7
[423] => pTAYyjP/P2K7
[424] => pTAYYJp/p2k7
[425] => pTAYYJp/p2K7
[426] => pTAYYJp/P2k7
[427] => pTAYYJp/P2K7
[428] => pTAYYJP/p2k7
[429] => pTAYYJP/p2K7
[430] => pTAYYJP/P2k7
[431] => pTAYYJP/P2K7
[432] => pTAYYjp/p2k7
[433] => pTAYYjp/p2K7
[434] => pTAYYjp/P2k7
[435] => pTAYYjp/P2K7
[436] => pTAYYjP/p2k7
[437] => pTAYYjP/p2K7
[438] => pTAYYjP/P2k7
[439] => pTAYYjP/P2K7
[440] => pTAYyJp/p2k7
[441] => pTAYyJp/p2K7
[442] => pTAYyJp/P2k7
[443] => pTAYyJp/P2K7
[444] => pTAYyJP/p2k7
[445] => pTAYyJP/p2K7
[446] => pTAYyJP/P2k7
[447] => pTAYyJP/P2K7
[448] => pTAyyjp/p2k7
[449] => pTAyyjp/p2K7
[450] => pTAyyjp/P2k7
[451] => pTAyyjp/P2K7
[452] => pTAyyjP/p2k7
[453] => pTAyyjP/p2K7
[454] => pTAyyjP/P2k7
[455] => pTAyyjP/P2K7
[456] => pTAyYJp/p2k7
[457] => pTAyYJp/p2K7
[458] => pTAyYJp/P2k7
[459] => pTAyYJp/P2K7
[460] => pTAyYJP/p2k7
[461] => pTAyYJP/p2K7
[462] => pTAyYJP/P2k7
[463] => pTAyYJP/P2K7
[464] => pTAyYjp/p2k7
[465] => pTAyYjp/p2K7
[466] => pTAyYjp/P2k7
[467] => pTAyYjp/P2K7
[468] => pTAyYjP/p2k7
[469] => pTAyYjP/p2K7
[470] => pTAyYjP/P2k7
[471] => pTAyYjP/P2K7
[472] => pTAyyJp/p2k7
[473] => pTAyyJp/p2K7
[474] => pTAyyJp/P2k7
[475] => pTAyyJp/P2K7
[476] => pTAyyJP/p2k7
[477] => pTAyyJP/p2K7
[478] => pTAyyJP/P2k7
[479] => pTAyyJP/P2K7
[480] => pTaYyjp/p2k7
[481] => pTaYyjp/p2K7
[482] => pTaYyjp/P2k7
[483] => pTaYyjp/P2K7
[484] => pTaYyjP/p2k7
[485] => pTaYyjP/p2K7
[486] => pTaYyjP/P2k7
[487] => pTaYyjP/P2K7
[488] => pTaYYJp/p2k7
[489] => pTaYYJp/p2K7
[490] => pTaYYJp/P2k7
[491] => pTaYYJp/P2K7
[492] => pTaYYJP/p2k7
[493] => pTaYYJP/p2K7
[494] => pTaYYJP/P2k7
[495] => pTaYYJP/P2K7
[496] => pTaYYjp/p2k7
[497] => pTaYYjp/p2K7
[498] => pTaYYjp/P2k7
[499] => pTaYYjp/P2K7
[500] => pTaYYjP/p2k7
[501] => pTaYYjP/p2K7
[502] => pTaYYjP/P2k7
[503] => pTaYYjP/P2K7
[504] => pTaYyJp/p2k7
[505] => pTaYyJp/p2K7
[506] => pTaYyJp/P2k7
[507] => pTaYyJp/P2K7
[508] => pTaYyJP/p2k7
[509] => pTaYyJP/p2K7
[510] => pTaYyJP/P2k7
[511] => pTaYyJP/P2K7
)
.

Koenig, А в один столбик, и только пароли, без номера по счету-можно?

.
(\/)____o_O____(\/)

aNNiPAk, хз, по другому не выводится, хрень какая то, если возвращаю массив, то пусто, рекурсия мать её...
но можно другим велосипедом превратить Гг

.

Koenig, Нагуглил что-ли?

.
(\/)____o_O____(\/)

reaper, сам писал
смысл алгоритма такой, делим строку на массив по два символа (1 символ если нечетное количество крайний элемент массива)
потом маленькими группами по два символа собираем все возможные вариации из этих символов
потом просто результат (массив) от перебора собираем в более длинные строки
как то так

.
# aNNiPAk (22.09.2015 / 22:20)
Koenig, А в один столбик, и только пароли, без номера по счету-можно?
Можно
без номеров (+/-)
<?php
$original = 'ptayyjp/p2k7';
#$original = 'qw3er4t';

$array = str_split($original, 2);

if ((sizeof($array) % 2) != 0) {
    $array[] = '';
}

function pr_start($str) {
    if ($str == '') {
        return $str; 
    } else {
        $res = array();
        $res[] = strtolower($str);    
        $res[] = strtoupper($str);
    
        if (strlen($str) > 1) {
            $pice = array();
            $pice[] = $str[0];
            $pice[] = $str[1];
            $res[] = strtoupper($pice[0]) . strtolower($pice[1]);
            $res[] = strtolower($pice[0]) . strtoupper($pice[1]);
        }
    
        return array_unique($res);
    }
}


function pr_merge($a, $b) {
    if (strlen($a[0]) < 3) {
        $a = pr_start($a);
        $b = pr_start($b);
    }
    if ($b == '') {
        return $a;
    }
    $res = array();
    foreach ($a as $c) {
        foreach ($b as $d) {
            $res[] = $c . $d;    
        }
    }
    
    return array_unique($res);
}

function run($array) {
    $cnt = sizeof($array);
    $res = array();
    $rs = array();
    $i = 0;
    $a = 0;
    $b = 1;
    while ($i < $cnt / 2) {
        $res[] = array_unique(pr_merge($array[$a], $array[$b]));

        $i++; $a+=2; $b+=2;
    }
    


    if (sizeof($res) >= 2) {
        run($res);
    } else {
                $return = '';
                foreach ($res[0] as $val) {
                    $return .= $val .'<br />';
                }

    }
echo $return;
        
    
    
}

$rs = run($array);

echo $rs;
Всего: 59