поиск по массиву и ключу по сравнению с тестом по массиву - PullRequest
2 голосов
/ 03 октября 2019

Рассмотрим следующий блок:

if ($key = array_search($itemId, $allowedItems) !== false) {
    unset($allowedItems[$key]);
}

Считаете ли вы, что использование поиска по индексу для повышения производительности allowedItems оправдывает следующий рефакторинг:

$flipped = array_flip($allowedItems);
if (isset($flipped[$itemId])) {
    unset($allowedItems[$flipped[$itemId]]);
}

Массив состоит изпо целым числам идентификатора элемента:

Array
(
    [0] => 423
    [1] => 12
    [2] => 9990
)

Будет ли использование дополнительной переменной массива ($flipped) преодолевать какие-либо выгоды?

Приведенный выше блок является выдержкой из унаследованного модуля ивыполнено в цикле .

...