Почему я не могу получить доступ к значению этого ассоциативного массива? - PullRequest
3 голосов
/ 01 марта 2012
array(1) { [0]=> array(6) { ["id"]=> string(3) "275" ["course"]=> string(2) "92" 
["name"]=> string(33) "Tutorial - Transforming 2D Shapes" ["activitylink"]=> string(4) 
"2488" ["available"]=> string(10) "1330626600" ["deadline"]=> string(10) "1330630200" } }

array(1) { [0]=> array(6) { ["id"]=> string(3) "422" ["course"]=> string(3) "130" 
["name"]=> string(8) "tester 2" ["activitylink"]=> string(1) "0" ["available"]=> 
string(10) "1330691375" ["deadline"]=> string(10) "1330694135" } }

 array(1) { [0]=>   array(6) { ["id"]=> string(3) "423" ["course"]=> string(3) "132"      ["name"]=> string(10) "LessonName" ["activitylink"]=> string(1) "0" ["available"]=> string(10)
 "1330770900" ["deadline"]=> string(10) "1330781700" } }

Я получаю данные из функции, которая возвращает массив уроков и информацию о них.

Я могу сделать var_dump($lessonArray), и результатом является бит вывода, который я вставил сюда.Тем не менее, я пытаюсь получить доступ к полю available безуспешно.Я сделал var_dump($lessonArray['available']) и print_r($lessonArray['available']), но все, что он возвращает, это NULL.

Ответы [ 2 ]

4 голосов
/ 01 марта 2012

В трех опубликованных вами случаях у вас есть вложенные массивы . Это array(1) { [0]=> указывает, что первый массив содержит ключ 0 . И это array(1) { [0]=> array(6) указывает, что ключ 0 первого массива является вторым массивом .

Таким образом, $lessonArray[0] должно быть:

array(6) { ["id"]=> string(3) "422" ["course"]=> string(3) "130" 
["name"]=> string(8) "tester 2" ["activitylink"]=> string(1) "0" ["available"]=> 
string(10) "1330691375" ["deadline"]=> string(10) "1330694135" }

И $lessonArray[0]['name'] должен быть 'тестером 2', $lessonArray[0]['available'] должен быть '1330691375' и так далее.

Если бы вы использовали print_r ($ lessonArray) вместо var_dump($lessonArray), вы бы заметили разницу:)

Итак, я второй комментарий JamWaffles для использования print_r , я сам предпочитаю print_r, если я действительно не хочу быть разборчивым в типах значений.

0 голосов
/ 01 марта 2012

Они все массивы в одноэлементных массивах.Просто используйте $lessonArray[0]['available'] вместо $lessonArray['available'] или извлеките элемент 0 для начала.

...