访问多维数组中的元素,php

时间:2015-04-27 11:48:30

标签: php multidimensional-array

我目前正在开发一个php网站。目前,我正从数据库中的表中检索所有数据,并将其作为名为'$divingTrips'的数组返回。它使用print_r(array_values($divingTrips))函数以下列格式返回:

Array ( [0] => stdClass Object (
                         [DivingTripID] => 1 
                         [DivingTripName] => Newcastle Dive
                         [DivingTripLocation] => Newcastle   
                         [DivingTripDay] => Monday 
                         [DivingTripTime] => 12:06:57 ) 

       [1] => stdClass Object ( 
                         [DivingTripID] => 2
                         [DivingTripName] => Portrush Dive 
                         [DivingTripLocation] => Portrush 
                         [DivingTripDay] => Thursday 
                         [DivingTripTime] => 12:06:57 ) )

我现在正在尝试访问数组中的单个元素,以便填充下拉菜单和其他用途。我正在尝试这个来访问数组:

echo  $divingTrips[0]['DivingTripID'];

我本以为这会回应价值,然而,这不起作用。有人可以告诉我我做错了什么吗? 非常感谢。

3 个答案:

答案 0 :(得分:0)

问题是您尝试将stdClass作为数组访问。 它不是数组,因此您无法以相同的方式访问它。

在我看来,你试图从数据库中获取行作为php对象,但是这个过程中出现了错误。

答案 1 :(得分:0)

echo $ divingTrips [0] ['DivingTripID'];

上述语句不起作用bcz $ divingTrips数组存储的项目不是数组,而是存储为对象。

请验证从DB获取数组的php代码。

答案 2 :(得分:0)

<?php

$divingTrips = [];
$divingTrips[] = ["DivingTripID" => 1];

var_dump($divingTrips[0]["DivingTripID"]);

<?php

$divingTrips = [(object) ["DivingTripID" => 1]];

var_dump($divingTrips[0]->DivingTripID);