我目前正在开发一个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'];
我本以为这会回应价值,然而,这不起作用。有人可以告诉我我做错了什么吗? 非常感谢。
答案 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);