powiedzieć, że początek prostej matrycy (która teoretycznie może być o dowolnej długości):podziału tablicę do unikalnych par
$ids = array(1,2,3,4);
co to najlepsze rozwiązanie dzielenia tej tablicy w tablicy unikalnych par, takich jak:
$pair[0] = array(1,2);
$pair[1] = array(1,3);
$pair[2] = array(1,4);
$pair[3] = array(2,3);
$pair[4] = array(2,4);
$pair[5] = array(3,4);
Można uciec sprawdzeniu 'in_array', wykonując' array_unique' na '$ ids' .A możesz także przyspieszyć to przez liczenie '$ ids' jako warunek wstępny przed pętlami (ponieważ to się nie zmieni). Wspomnę o nich tylko dlatego, że wspominasz o złożoności ... – ircmaxell
@ircmaxell Prawda o tym, że najpierw liczymy' $ ids', chociaż to nie wpłynie to na złożoność.Nie sądzę, że można użyć 'tablica_unique' przed czasem ... zależy to od celu OP, tj. jeśli' $ ids = array (1,2,3,3) , powinien [3,3] być wynikiem? –
Mogę potwierdzić, że 3,3 nie powinno być wynikiem – robjmills