关联数组在PHP无法访问

问题描述 投票:-1回答:1

这种情况如下:

有包含关联数组的数值阵列。这些关联数组有一个名为“ANFANG”和“恩德” 2个元素。

现在,我使用foreach循环遍历数组的数值,并且foreach循环里面我要访问的关联元素,它看起来像这样

foreach($allReservationsOrRequestsByUser as $singleRequestOrReservationByUser){
   if(singleRequestOrReservationByUser["start"] > singleRequestOrReservationByUser["end"]{
   //do something
   }
}

现在,我收到以下错误信息到我的Apache2错误日志

[周一11年2月4日:23:16.018026 2019] [:错误] [PID 1947] [客户端127.0.0.1:41342] PHP致命错误:未捕获的错误:无法使用类型stdClass的的对象作为在/ var阵列/ WWW / HTML /包括/ Dauerreservierung / checkForOverlapWithExistingRequestsOrReservations.php:19 \ nStack迹:\ N#0 /var/www/html/include/Dauerreservierung/checkForOverlapWithExistingRequestsOrReservations.php(5):大型机(阵列)\ N#1 {主} \ n的抛出/var/www/html/include/Dauerreservierung/checkForOverlapWithExistingRequestsOrReservations.php第19行,引用者:http://localhost/view/dauerreservierung.php`

我真的不明白是什么问题。我一直在做我在其他地方后端这一切的时候,它总是工作。这是我第一次看到这个错误。我也试过了的var_dump一个单独的元素,就像这样:

var_dump($allReservationsOrRequestsByUser[0]["anfang"];

我也得到了同样的错误。好像事情是错误的数组,但我不明白这是什么,因为我真的没有做任何事情,从早期太大的不同。

编辑:

完整的转储输出全阵列时,即时得到的是:

array(1) {
[0]=>
    object(stdClass)#2 (2) {
    ["anfang"]=>
    string(19) "2019-01-23 00:00:00"
    ["ende"]=>
    string(19) "2019-01-30 00:00:00"
    }
}
php
1个回答
3
投票

异常消息是不言自明的。你的工作,而不是stdClass已经关联数组。也许你编码JSON?你能告诉我们完整的转储(var_dump($allReservationsOrRequestsByUser))?

无论如何,如果这是stdClass,得到你需要使用start end->财产。

© www.soinside.com 2019 - 2024. All rights reserved.