array_unique vs array_flip

Если бы у меня был массив целых чисел со знаком, например:

Array
(
    [0] => -3
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 3
)

Чтобы получить уникальные значения, я бы инстинктивно использовал array_unique , но, подумав, я мог бы дважды выполнить array_flip , что дало бы тот же эффект, и Думаю, это будет быстрее?

array_unique O (n log n) из-за используемой операции сортировки

array_flip O (n)

Верно ли я в своих предположениях?

ОБНОВЛЕНИЕ / ПРИМЕР:

$intArray1 = array(-4,1,2,3);
print_r($intArray1);
$intArray1 = array_flip($intArray1);
print_r($intArray1);
$intArray1 = array_flip($intArray1);
print_r($intArray1);

Array
(
    [0] => -3
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 3
)
Array
(
    [-3] => 0
    [1] => 1
    [2] => 2
    [3] => 4
)
Array
(
    [0] => -3
    [1] => 1
    [2] => 2
    [4] => 3
)
28
задан Lizard 1 December 2011 в 20:38
поделиться