2012-05-03 4 views
1

から新しいアレイを作成するので、私は最初の配列は、二番目の配列(VERSION_ID)のarray_unique 2つのアレイOK二つの配列

Array ( 
[0] => 23225 
[1] => 23224 
[2] => 23212 
[3] => 23188 
[4] => 23048 
[5] => 23027 
[6] => 23024 
[7] => 23018 
[8] => 22994 
[9] => 22992) 

Array ( 
[0] => Array ([id] => 2108 [person] => [time_id] => 9 [version_id] => 22992 [day] => 21) 
[1] => Array ([id] => 2168 [person] => [time_id] => 9 [version_id] => 22994 [day] => 2) 
[2] => Array ([id] => 2169 [person] => [time_id] => 9 [version_id] => 22994 [day] => 3) 
[3] => Array ([id] => 2170 [person] => [time_id] => 9 [version_id] => 22994 [day] => 4) 
[4] => Array ([id] => 2171 [person] => [time_id] => 9 [version_id] => 22994 [day] => 5) 
[5] => Array ([id] => 2172 [person] => [time_id] => 9 [version_id] => 22994 [day] => 6) 
[6] => Array ([id] => 2173 [person] => [time_id] => 16- [version_id] => 22994 [day] => 10) 
[7] => Array ([id] => 2174 [person] => [time_id] => 16- [version_id] => 22994 [day] => 11) 
[8] => Array ([id] => 2175 [person] => [time_id] => 16- [version_id] => 22994 [day] => 12) 
[9] => Array ([id] => 2176 [person] => [time_id] => 16- [version_id] => 22994 [day] => 13) 
[10] => Array ([id] => 2177 [person] => [time_id] => 9 [version_id] => 22994 [day] => 16) 
[11] => Array ([id] => 2178 [person] => [time_id] => 9 [version_id] => 22994 [day] => 17) 
[12] => Array ([id] => 2179 [person] => [time_id] => 9 [version_id] => 22994 [day] => 18) 
[13] => Array ([id] => 2180 [person] => [time_id] => 9 [version_id] => 22994 [day] => 19) 
[14] => Array ([id] => 2181 [person] => [time_id] => 9 [version_id] => 22994 [day] => 20) 
[15] => Array ([id] => 2182 [person] => [time_id] => 16- [version_id] => 22994 [day] => 23) 
[16] => Array ([id] => 2183 [person] => [time_id] => 16- [version_id] => 22994 [day] => 24) 
[17] => Array ([id] => 2184 [person] => [time_id] => 16- [version_id] => 22994 [day] => 25) 
[18] => Array ([id] => 2185 [person] => [time_id] => 16- [version_id] => 22994 [day] => 26) 
[19] => Array ([id] => 2186 [person] => [time_id] => 16- [version_id] => 22994 [day] => 27) 
[20] => Array ([id] => 2187 [person] => [time_id] => 9 [version_id] => 22994 [day] => 30) 
[21] => Array ([id] => 2386 [person] => [time_id] => 9 [version_id] => 23018 [day] => 19) 
[22] => Array ([id] => 2483 [person] => [time_id] => 10-- [version_id] => 23024 [day] => 2) 
[23] => Array ([id] => 2484 [person] => [time_id] => 10-- [version_id] => 23024 [day] => 3) 
[24] => Array ([id] => 2485 [person] => [time_id] => 10-- [version_id] => 23024 [day] => 4) 
[25] => Array ([id] => 2486 [person] => [time_id] => 10-- [version_id] => 23024 [day] => 5) 
[26] => Array ([id] => 2487 [person] => [time_id] => 10-- [version_id] => 23024 [day] => 6) 
[27] => Array ([id] => 2592 [person] => [time_id] => 15-- [version_id] => 23027 [day] => 10) 
[28] => Array ([id] => 2593 [person] => [time_id] => 15-- [version_id] => 23027 [day] => 11) 
[29] => Array ([id] => 2594 [person] => [time_id] => 15-- [version_id] => 23027 [day] => 12) 
[30] => Array ([id] => 2595 [person] => [time_id] => 15-- [version_id] => 23027 [day] => 13) 
[31] => Array ([id] => 2877 [person] => [time_id] => 17- [version_id] => 23048 [day] => 23) 
[32] => Array ([id] => 2878 [person] => [time_id] => 17- [version_id] => 23048 [day] => 24) 
[33] => Array ([id] => 2879 [person] => [time_id] => 17- [version_id] => 23048 [day] => 25) 
[34] => Array ([id] => 2880 [person] => [time_id] => 17- [version_id] => 23048 [day] => 26) 
[35] => Array ([id] => 2881 [person] => [time_id] => 17- [version_id] => 23048 [day] => 27) 
[36] => Array ([id] => 3487 [person] => [time_id] => 9 [version_id] => 23188 [day] => 2) 
[37] => Array ([id] => 3488 [person] => [time_id] => 9 [version_id] => 23188 [day] => 3) 
[38] => Array ([id] => 3489 [person] => [time_id] => 9 [version_id] => 23188 [day] => 4) 
[39] => Array ([id] => 3490 [person] => [time_id] => 9 [version_id] => 23188 [day] => 5) 
[40] => Array ([id] => 3491 [person] => [time_id] => 9 [version_id] => 23188 [day] => 6) 
[41] => Array ([id] => 3642 [person] => [time_id] => 9 [version_id] => 23212 [day] => 19) 
[42] => Array ([id] => 3643 [person] => [time_id] => 9 [version_id] => 23212 [day] => 21) 
[43] => Array ([id] => 3694 [person] => [time_id] => 15-- [version_id] => 23224 [day] => 10) 
[44] => Array ([id] => 3695 [person] => [time_id] => 15-- [version_id] => 23224 [day] => 11) 
[45] => Array ([id] => 3696 [person] => [time_id] => 15-- [version_id] => 23224 [day] => 12) 
[46] => Array ([id] => 3697 [person] => [time_id] => 15-- [version_id] => 23224 [day] => 13) 
[47] => Array ([id] => 3706 [person] => [time_id] => 9 [version_id] => 23225 [day] => 10) 
[48] => Array ([id] => 3707 [person] => [time_id] => 9 [version_id] => 23225 [day] => 11) 
[49] => Array ([id] => 3708 [person] => [time_id] => 9 [version_id] => 23225 [day] => 12) 
[50] => Array ([id] => 3709 [person] => [time_id] => 9 [version_id] => 23225 [day] => 13)) 

を有する

これら2つの配列の合計。 最初の次元は最初の配列(version_is)で、2番目の次元は日数(1〜31)です。 例日間2,4,5-が残りVERSION_IDの同等を持っていない、場合、彼らは一例

Array (
    [0] => Array (
      [0] => Array ([version_id] => 23225 [day] => 1 [time_id] => 9 [person] =>) 
      [1] => Array ([version_id] => 23225 [day] => 2 [time_id] => 15 [person] =>) 
      [2] => Array ([version_id] => 23225 [day] => 15 [time_id] => 15 [person] =>) 
      [3] => Array ([version_id] => 23225 [day] => 30 [time_id] => 9+ [person] =>)) 
    [1] => Array (
      [0] => Array ([version_id] => 23224 [day] => 1 [time_id] => 9 [person] =>) 
      [1] => Array ([version_id] => 23224 [day] => 2 [time_id] => 17 [person] =>) 
      [2] => Array ([version_id] => 23224 [day] => 15 [time_id] => 15 [person] =>) 
      [3] => Array ([version_id] => 23224 [day] => 30 [time_id] => 5+ [person] =>))) 

ため

VERSION_ID下を取得する必要があります私はあなたが私を理解してほしい:)

とった! これは最適な解決策ですか?

foreach ($Array as $key => $value) { 
    foreach ($value as $skey => $svalue) { 
     $version_id=$Array[$key]['version_id']; 
     for ($day=1; $day<=31; $day++) { 
      if ($Array[$key]['day']==$day) { 
       $New[$version_id][$day]['day']=$Array[$key]['day']; 
       $New[$version_id][$day]['person']=$Array[$key]['person']; 
       $New[$version_id][$day]['time_id']=$Array[$key]['time_id']; 
       $New[$version_id][$day]['who']=$Array[$key]['who'];  
      } 
     } 
    } 
} 
+0

私はあなたが直面するかもしれないどのようにばかげて次の問題だろうが、;-) – sha256

+0

になるだろう! ; P – breq

+0

私はこの問題を理解できませんでした。あまりにも不器用です。あなたは少しを明確にすることができます – sha256

答えて

0

2次元配列を作成する必要があります。あなたはこのような何かしたいC++で:その後、私を助けてばかげている場合

int varArray[9][59];