在多维数组中访问元素,PHP

3

我目前正在开发一个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'];

我本以为这会回显值“1”,但是它没有工作。请问有人能告诉我我做错了什么吗?非常感谢。

3
这不是一个多维数组,而是一个对象数组。要翻译的代码是:echo $divingTrips[0]->DivingTripID; - Mark Baker
1
谢谢Mark,那个方法可行!我没意识到它不是多维的。@MarkBaker - Zekik64
1
检查你的代码,你正在获取对象而不是数组..那就是问题所在。 - Vignesh
3个回答

0
<?php

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

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

或者

<?php

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

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

0
问题在于您试图将stdClass作为数组进行访问。它不是一个数组,因此您无法以相同的方式访问它。
在我看来,您正在尝试将数据库中的行作为php对象获取,但在这个过程中出了一些问题。

0

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

上述语句将无法工作,因为$divingTrips数组存储的项目不是数组,而是对象。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接