Наиболее эффективный способ запроса многомерного массива для значения, когда под-массивы имеют идентичные ключи в php - PullRequest
0 голосов
/ 14 августа 2011

Прежде всего, у меня есть массив результатов из запроса базы данных, который я выкладываю в список html через foreach. Во-вторых, у меня есть многомерный массив со связанными данными. Отношение определяется в обоих источниках данных как "entry_id".

Я хочу запрашивать многомерный массив на каждой итерации foreach, чтобы проверить, существует ли совпадающий entry_id, и если это так, я хочу вытащить заголовок страницы, чтобы добавить в мой список HTML. Многомерный массив выглядит так:

array(4) { 
    [0]=> array(2) { 
            ["entry_id"]=> string(1) "1" 
            ["title"]=> string(4) "Page Title 1" 
        } 
        [1]=> array(2) { 
            ["entry_id"]=> string(1) "2" 
            ["title"]=> string(5) "Page Title 2"
        }
        [2]=> array(2) { 
            ["entry_id"]=> string(1) "3" 
            ["title"]=> string(8) "Page Title 3" 
        } 
        [3]=> array(2) { 
            ["entry_id"]=> string(1) "4" 
            ["title"]=> string(5) "Page Title 4" } 
        }

Итак, во-первых, как бы вы запросили этот многомерный массив и получили заголовок страницы, который вам нужен на этой итерации, учитывая, что подмассивы имеют идентичные ключи?

Во-вторых, каков наиболее эффективный способ сделать это, я должен также упомянуть, что массив может стать очень большим в теории.

1 Ответ

1 голос
/ 14 августа 2011

Преобразуйте массив, чтобы у вас была структура

entry_id => title

т.е.

array(
    "1" => "Page Title 1",
    "2" => "Page Title 2"
)

Тогда получение заголовка - это просто доступ к массиву со значением entry_id.

Если вы можете построить массив таким образом с самого начала, если нет, то вам нужно перебрать его и создать структуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...