2013-05-28 90 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