【发布时间】:2012-11-05 14:37:54
【问题描述】:
我有这样的输出:
stdClass Object
(
[GetMatchdataByLeagueDateTimeResult] => stdClass Object
(
[Matchdata] => Array
(
[0] => stdClass Object
(
[teamId] => 40
在 foreach 循环中
foreach ($allMatches as $match):
我现在希望使用如下数据:
if ($match->idTeam1 == $teamId || $match->idTeam2 == $teamId):
但我得到这个错误:
试图获取非对象的属性
原因是,Matchdata 数组包含大约 60 多个条目,我想过滤掉 [idTeam1] 或 [idTeam2] == 给定 id 的条目。
结果我应该只得到大约 5 到 7 个条目。
在使用 stdClass 对象时,最好的方法是什么?
请帮忙!
谢谢!!
【问题讨论】:
-
idTeam1和idTeam2声明在哪里?你的对象结构是什么? -
您的输出示例(假设它是 $allMatches?)与您的伪代码不匹配。 teamId vs idTeam1 - idTeam1 来自哪里?
-
$match[0]->idTeam1工作吗? -
不是 100% 确定,但您似乎需要使用
gettype()PHP 函数测试变量类型:php.net/manual/en/function.gettype.php -
...您使用对象而不是关联数组有什么原因吗?
标签: php arrays object stdclass