2016-09-08 73 views
-1

我創建一個對象數組(或試圖),看起來像這樣:校驗陣列爲對象,具有相同的密鑰

Array 
(
[1] => stdClass Object 
    (
     [date] => 2016-09-28 
    ) 

[5] => stdClass Object 
    (
     [date] => 2016-09-28 
    ) 

[2] => stdClass Object 
    (
     [date] => 2016-09-29 
    ) 

[0] => stdClass Object 
    (
     [date] => 2016-09-30 
    ) 

[4] => stdClass Object 
    (
     [date] => 2016-09-30 
    ) 

[3] => stdClass Object 
    (
     [date] => 2016-09-30 
    ) 

) 

說我有麻煩的是,我需要不能工作了解如何檢查具有date->$date的對象是否已經存在。

我需要一個'days'的數組,我可以繼續將研討會添加到相應的日子,而不是每次都添加一個新對象。

任何人都可以提出建議嗎?

      • 編輯

爲了把這一背景下,我通過迭代在這種情況下一堆WordPress的帖子(類型爲 '車間' 的)都有一個日期元。通過循環的路上,我想

  • 獲取日期(日)
  • 檢查該日期數組
  • 如果不存在,日期添加到陣列
  • 然後添加研討會對象到該日期陣列

我應該以最終結果是一個數組包含三個或四個唯一的日期,每個日期都有一個車間對象數組。

Array( 
    Date 1( 
    Workshop( 
     Title, etc 
    ), 
    Workshop() 
    ) 
    Date 2( 
    Workshop(
     Title, etc 
    ) 
    Workshop() 
) 
) 

我很抱歉,我確定我的結構已關閉 - 這對我來說有點高級。感謝您的期待。

+0

你需要什麼不清楚。請詳細解釋。 – masterFly

+0

我編輯了上下文@masterFly的問題。 –

+0

也許會更容易與輸入數組一起工作,嘗試解碼它'json_decode($ jsonstring,true);'你將得到一個關聯數組。 –

回答

0

你需要的是這樣的。你可以有一個功能來分組你的結果。

function groupWorkShopsByDate($first_array){ 
    $result_arr = array(); 
    foreach($first_array as $workShop){ 
     $result_arr[ $workShop->date ][] = $workShop; 
    } 
    return $result_arr; 
} 

希望這有助於!

+0

是的!這就像一個魅力。感謝你的時間@masterFly。 –

+0

你能幫我進一步排序數組嗎?我已經設法按照'ksort()'的順序對日期進行排序,但是我需要在每個日期內進一步排序研討會,並堅持下去。 –

+0

基本上你必須決定你要分類研討會的信息。然後把它當作數組的關鍵。 '$ result_arr [$ workShop-> date] [] = $ workShop;' 那麼你可以像他們一樣把它們放在一起! – masterFly

相關問題