2017-07-15 22 views
0

我有一個數組,我想根據子數組的相同索引值組合數值。它是一個多維動態數組,包含一些相同的和一些不同的索引,如體育頁腳etc.Please檢查以下陣列按照索引結合3級多維數組0123水平多維數組根據索引

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [Sport] => 15 
       ) 

      [1] => Array 
       (
        [Sport] => 14 
       ) 

      [2] => Array 
       (
        [Sport] => 29 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [Surgical] => 11 
       ) 

      [1] => Array 
       (
        [Surgical] => 12 
       ) 

      [2] => Array 
       (
        [Surgical] => 13 
       ) 

      [3] => Array 
       (
        [Footwear] => 10 
       ) 

     ) 

) 

在它下面,我想作爲一個輸出

Array 
(
    [0] => Array 
     (
      [0] => 15 
      [1] => 14 
      [2] => 29 


     ) 

    [1] => Array 
     (
      [0] => 11 
      [1] => 12 
      [2] => 13 


     ), 
    [2] => Array(
      [0] => 10 
    ) 

) 
+0

你試過什麼來獲得慾望輸出?如果是,請隨時分享您的試用代碼。 –

+0

$ key =''; \t \t \t爲($ I = 0; $ I <計數($ prodbyTax); $ I ++){ \t \t \t \t \t \t \t \t爲($ J = 0; $Ĵ<計數($ prodbyTax [$ I]); $ J ++){ \t \t \t \t \t \t \t \t \t \t的foreach($ prodbyTax [$ i]於[$ j]的爲$鍵=> $ val)的{ \t \t \t \t \t \t \t \t \t \t \t \t如果($ prevKey == '' || $鍵== $ prevKey){ \t \t \t \t \t \t \t回聲 「如果
」; \t \t \t \t \t \t \t $ testing [] = $ val; \t \t \t \t \t \t \t $ prevKey = $ key; \t \t \t \t \t \t}否則{ \t \t \t \t \t \t \t回聲 「其他
」; \t \t \t \t \t \t \t $ testing1 [] = $ val; \t \t \t \t \t \t \t $ prevKey =''; \t \t \t \t \t \t} \t \t \t \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t} 這是我的代碼,但我想同樣的指數法的價值結合起來,喜歡運動的值必須在一個陣列相同的手術和其他 –

回答

1

假設你輸入數組被稱爲$data陣列格式,你可以這樣做:

foreach ($data as $row) { 
    foreach ($row as $pair) { 
     foreach ($pair as $key => $value) { 
      $result[$key][] = $value; 
     } 
    } 
} 

這將提供$result如下:

[ 
    "Sport" => [15, 14, 29], 
    "Surgical" => [11, 12, 13], 
    "Footwear" => [10] 
] 

如果你真的想扔掉「標籤」,只是不停的值,然後在結尾處添加下面的轉換

$result = array_values($result); 

,這將給你期望的結果:

[ 
    [15, 14, 29], 
    [11, 12, 13], 
    [10] 
] 

......但這對我來說似乎不太有用。

+0

謝謝哥哥。 –