Php 对象(stdClass)数组和返回值

Php 对象(stdClass)数组和返回值,php,arrays,stdclass,Php,Arrays,Stdclass,我好像又被卡住了周五我问了这个问题,@Bartdude回答得很好- 输出的数组如下所示- [0]=> object(stdClass)#270 (3) { ["Month(StartDate)"]=> string(1) "4" ["Year(StartDate)"]=> string(4) "2013" ["nrOfEvents"]=> string(2) "12" } [1]=> object(stdClass)#176 (3) { ["Mont

我好像又被卡住了周五我问了这个问题,@Bartdude回答得很好-

输出的数组如下所示-

[0]=> object(stdClass)#270 (3) 
{ 
["Month(StartDate)"]=> string(1) "4" 
["Year(StartDate)"]=> string(4) "2013" 
["nrOfEvents"]=> string(2) "12" 
} 
[1]=> object(stdClass)#176 (3) 
{ 
["Month(StartDate)"]=> string(1) "5" 
["Year(StartDate)"]=> string(4) "2013" 
["nrOfEvents"]=> string(2) "19" 
} 
[2]=> object(stdClass)#114 (3) 
{ 
["Month(StartDate)"]=> string(1) "6" 
["Year(StartDate)"]=> string(4) "2013" 
["nrOfEvents"]=> string(2) "12" 
} 
}
然后在通过堆栈交换进行一些搜索之后,我发现这将返回nrofEvents-

echo $results[0]->nrOfEvents
// Outputs - 12
我很难理解如何在foreach循环中访问数组中的[“Month(StartDate)”]

例如,我的最终目标是实现一个包含月份名称的月份表

|三月(12)四月(19)六月(12)|

|七月(3)八月(4)九月(5)|


任何帮助我理解的帮助都将是非常棒的,请提前感谢。

这允许访问
月(起始日期)

但您最好使用数组,尝试以下方法:

foreach($array as $object) {
   echo $object->{'Month(StartDate)'}, '<br>';
}
foreach($array as$object){
echo$object->{'Month(StartDate)},
'; }
您可以通过以下方式计算月份值:

echo $results[0]->month
// Outputs - 4
使用以下命令:

$array = [array of dates]
$formats = array();

foreach($array as $key => $object)
{
    $formats[] = date('M', $array[$key]->{Month(StartDate)}) . ' (' . $array[$key]->nrOfEvents . ')';
}

$formats = implode(' | ', $formats);

但是:您应该认真考虑重新命名数组值。代码>(和

对变量名无效。

嗨@Phil Cross你的答案很棒,并且基本上做了我需要做的事情,但是我发现silkfire的答案更容易(就我的知识而言)处理-不过,当我有时间更多地考虑你的建议时,我会这样做的!-谢谢。没问题:)享受吧!附言:@Andy别忘了接受silkfire的回答,也许还有upvote?:)嗨@Phil Cross-我还不能投票:(-再问3个新问题,我就可以了!-再次感谢:)嗨@benomite,我真的以为我试过了-在我不得不做的这件事中,我一定是在很多困惑的时刻打错了什么!也谢谢你的回答。嗨@Silkfire-谢谢你,在我发现你的所有解决方案中,以我的知识水平来说,我发现你的解决方案最容易使用,有几个“如果”的陈述,我已经能够大致得到我想要的结果。谢谢。你好@arnaud576875-你的也很棒,谢谢,我想我有点难堪,因为我不知道加上花括号!
echo $results[0]->month
// Outputs - 4
$array = [array of dates]
$formats = array();

foreach($array as $key => $object)
{
    $formats[] = date('M', $array[$key]->{Month(StartDate)}) . ' (' . $array[$key]->nrOfEvents . ')';
}

$formats = implode(' | ', $formats);