использование array_search ПРОТИВ хранения данных в массиве в качестве обоих индексов

#php #arrays #performance

#php #массивы #Производительность

Вопрос:

Что лучше и быстрее:

 $objectTypes = array(
        1=>'Content',2=>'Taxonomy',3=>'Ad',4=>'Issue'       
        );

ID: $objectTypes[1];

Title: array_search('Content',$objectTypes);

VS

$objectTypes = array(
        1=>'Content',2=>'Taxonomy',3=>'Ad',4=>'Issue',
        'Content'=>1,'Taxonomy'=>2,'Ad'=>3,'Issue'=>4);

ID: $objectTypes[1];

Title: $objectTypes['Content'];
  

Сначала я использую array_search для получения идентификатора объекта.

Во-вторых, я просто сохраняю его наоборот.

В основном объект не изменится, и у него будет не более 5-10 типов
, которые мне нужны для сохранения идентификатора и названия объекта

Мне просто любопытно использовать метод против большого массива

конечно, когда я использую его в классе, я буду использовать соответствующую функцию для получения / установки

Производительность является первоочередным предпочтением, но также важен хороший стиль кодирования и оптимальное использование объектов / файлов класса.

Ответ №1:

Второй вариант не рекомендуется. Нет смысла сохранять одни и те же данные дважды и думать обо всем потраченном впустую времени на заполнение ненужных данных. Итак, чтобы ответить на ваш вопрос, array_search поможет вам лучше