2013-05-27 67 views
0

我有這個數組下面,並希望像這樣組織:類別22包含783,784,785。 11類包含783,784,785等。我有點卡... 所以下面是源和下面,這是我想要將數組轉換。PHP Array轉換和簡化多維數組

Array 
(
    [783] = Array 
     (
      [categories] = Array 
       (
        [0] = 22 
        [1] = 11 
        [2] = 12 
       ) 

     ) 

    [784] = Array 
     (
      [categories] = Array 
       (
        [0] = 22 
        [1] = 11 
        [2] = 12 
       ) 

     ) 

    [785] = Array 
     (
      [categories] = Array 
       (
        [0] = 22 
        [1] = 11 
        [2] = 12 
       ) 

     ) 

) 

想將數組轉換爲此。

Array 
    (
     [22] = Array 
      (
       [0] => 783 
       [1] => 784 
       [2] => 785 
      ) 

     [11] = Array 
      (
       [0] => 783 
       [1] => 784 
       [2] => 785 
      ) 

     [12] = Array 
      (
       [0] => 783 
       [1] => 784 
       [2] => 785 
      ) 
    ) 
+0

什麼是數據的原始來源? – 2013-05-27 01:56:28

+0

我發佈的代碼是原始的 –

+0

您基本上想要切換第一層,是的? – user98085

回答

2

所以只是迭代原始數組並組裝結果;像這樣:

$categories = array(); 

foreach ($data as $itemId => $itemData) { 
     foreach ($itemData['categories'] as $categoryId) { 
       $categories[$categoryId][] = $itemId; 
     } 
} 
+0

謝謝我不知道你可以做那樣的事情。我試圖做類似的事情,除了我有3 foreach而不是2。再次感謝! –