Выдача доступа к элементам вложенного ассоциативного массива - PullRequest
1 голос
/ 01 марта 2011

Итак, у меня есть некоторые данные, которые возвращаются из запроса к базе данных, и результирующий массив (полученный с print_r) выглядит так (он назначен переменной с именем $ locationData):

Array
(
    [0] => Array
        (
            [id] => 1
            [location_name] => Cook Minnesota
            [location_lat] => 47.72037
            [location_long] => -90.32667
        )

    [1] => Array
        (
            [id] => 2
            [location_name] => Lake Minnesota
            [location_lat] => 47.18238
            [location_long] => -91.35301
        )

    [2] => Array
        (
            [id] => 3
            [location_name] => St. Louis Minnesota
            [location_lat] => 46.83572
            [location_long] => -91.96299
        )
 )

У меня есть цикл foreach, который должен получать имя_ местоположения от каждого. Это выглядит так:

foreach ($locationData as $location => $value ) {
   echo '<p>name ' . $location['location_name']. '</p>';
}

Я на 99% уверен, что это должно сработать; это в основном тот же код, который я использовал десятки раз раньше. Но эхо ничего не возвращает - даже статический текст (<p>name). Он не выдает никаких ошибок, и если я попытаюсь сделать print_r ($ location), я ничего не получу.

Есть идеи? Я уверен, что это что-то действительно простое.

Ответы [ 2 ]

2 голосов
/ 01 марта 2011

Вы хотите $value['location_name'], потому что $value представляет массивы, а $location представляет индексы массивов:

   echo '<p>name ' . $value['location_name']. '</p>';
0 голосов
/ 01 марта 2011

Это:

foreach ($locationData as $location => $value ) {
   echo '<p>name ' . $value['location_name']. '</p>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...