2013-05-28 89 views
0

我似乎被卡住了! - 我问这个问题,上周五其@Bartdude是伟大的回答 - Array output and date format对象(stdClass)数组和返回值

此输出这样的数组 -

[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)”]。

我的最终目标是实现月表具有月份名称,例如

| Mar(12)| Apr(19)| Jun(12)|

| 7月(3)| 8月(4)| Sep(5)|

帮助我理解的任何帮助都会非常棒,并且会提前致谢。

回答

0

试试这个:

foreach($array as $object) { 
    echo $object->{'Month(StartDate)'}, '<br>'; 
} 
+1

HI @Silkfire - 谢谢你,在我发现你最容易与我的知识水平一起工作的所有解决方案中,通过一些'if'陈述,我已经能够将它大致地放在我想要的地方。谢谢。 – Andy

+0

不客气。 – silkfire

0

这允许访问Month(StartDate)

$results[0]->{'Month(StartDate)'} 

但是你最好使用阵列

+0

嗨@ arnaud576875 - 你也很棒,谢谢你,我想我有点难过,因为我不知道如何添加大括号! – Andy

0
SELECT Month(startdate) AS month, count(id) as nrOfEvents 
FROM wp_myEventDates 
GROUP BY Month(startdate) 

您将能够按月值:

echo $results[0]->month 
// Outputs - 4 
+0

Hi @benomite我真的以为我尝试过 - 我必须在我必须做的这件事情的许多令人困惑的时刻错误输入了一些东西!也谢谢你的回答。 – Andy

0

使用此:

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

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

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

但是:你应该认真考虑重新命名的数组值。 ()对变量名无效。

+0

您好@Phil Cross您的答案非常好,而且我做了很多工作,但是我发现silkfire的答案在我的知识水平上更容易处理 - 然而,当我有一些时间可以更好地使用您的建议时! - 谢谢。 – Andy

+1

不是问题:)享受! P.S:@Andy不要忘记接受silkfire的回答,也许upvote? :) –

+1

嗨@Phil交叉 - 我不能upvote呢:( - 只有另外3个新问题,我将能够! - 再次感谢:) – Andy