为什么我不能访问这个关联数组值?

时间:2012-03-01 15:57:51

标签: php arrays associative-array

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" } }

我正在从一个函数中检索数据,它返回一个Lessons数组及其相关信息。

我能够var_dump($lessonArray),结果是我在这里粘贴的输出位。但是,我试图访问available字段但没有成功。我已完成var_dump($lessonArray['available'])print_r($lessonArray['available']),但它返回的只是NULL

2 个答案:

答案 0 :(得分:4)

在您发布的三个案例中,实际上您有嵌套数组。此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,除非我真的想对值的类型挑剔。

答案 1 :(得分:0)

它们都是单元素数组中的所有数组。只需使用$lessonArray[0]['available']代替$lessonArray['available'],或者首先检索元素0