-1

次のような Event 配列が 1 つあります。

 Array (

     [0] = Array(
                  [EventId] => 596
                  [Event] => test
                  [ResourceId] => 6
                  [StartDate] =>  2013-06-21 10:00:00
                  [FinishDate]  2013-06-21 10:30:00                   
                )
     [1] = Array(
                  [EventId] => 598
                  [Event] => another test
                  [ResourceId] => 6
                  [StartDate] =>  2013-06-21 15:00:00
                  [FinishDate]  2013-06-21 16:30:00                   
                )
     [2] = Array(
                  [EventId] => 599
                  [Event] => test
                  [ResourceId] => 8
                  [StartDate] =>  2013-06-21 10:00:00
                  [FinishDate]  2013-06-21 10:30:00                   
                )
      [3] = Array(
                  [EventId] => 601
                  [Event] => another test
                  [ResourceId] => 10
                  [StartDate] =>  2013-06-21 15:00:00
                  [FinishDate]  2013-06-21 16:30:00                   
                )
      [4] = Array(
                  [EventId] => 602
                  [Event] => new event
                  [ResourceId] => 10
                  [StartDate] =>  2013-06-22 10:00:00
                  [FinishDate]  2013-06-22 12:30:00                   
                )
      [5] = Array(
                  [EventId] => 604
                  [Event] => try new event
                  [ResourceId] => 6
                  [StartDate] =>  2013-06-22 10:00:00
                  [FinishDate]  2013-06-22 12:30:00                   
                )
       )

そして、次のようなイベント配列からの結果配列が必要です:

   Array (

     [0] = Array(
                  [EventId] => 596,599
                  [Event] => test
                  [ResourceId] => 6,8
                  [StartDate] =>  2013-06-21 10:00:00
                  [FinishDate]  2013-06-21 10:30:00                   
                )
     [1] = Array(
                  [EventId] => 598,601
                  [Event] => another test
                  [ResourceId] => 6,10
                  [StartDate] =>  2013-06-21 15:00:00
                  [FinishDate]  2013-06-21 16:30:00                   
                )         
     [2] = Array(
                  [EventId] => 602
                  [Event] => new event
                  [ResourceId] => 10
                  [StartDate] =>  2013-06-22 10:00:00
                  [FinishDate]  2013-06-22 12:30:00                   
                )
     [3] = Array(
                  [EventId] => 604
                  [Event] => try new event
                  [ResourceId] => 6
                  [StartDate] =>  2013-06-22 10:00:00
                  [FinishDate]  2013-06-22 12:30:00                   
                )
       )

私はPHPに取り組んでいます。しかし、配列を反復してその2つの値を一致させ、新しい配列に追加する方法がわかりません。

StartDate と EndDate を一致させる必要があります。両方が同じ場合は、リソース ID を連結してそのレコードをマージする必要があります。

for ループで試してみましたが、うまくいきませんでした。

私はこれを試しました:

  for($i=0;$i<count($event);$i++)
  {
if(($event[$i]["StartDate"]==$event[$i+1]["StartDate"]) && ($event[$i]["FinishDate"]==$event[$i+1]["FinishDate"]))
     {
     echo "yes"."<br>"; // Add in new array
     }
     else
     {
    echo "no"."<br>";
     }      
  }

誰でも私を助けてもらえますか?

前もって感謝します。

4

2 に答える 2

0

多次元配列!ネストされた for ループが必要になります。

for($i=0;$i<4;$i++)
{
for($j=0;$j<4;$j++)
{
$var = $your_array[i][j];
echo $var;//do whatever you want to do with the variable here
}
}
于 2013-06-22T07:30:39.673 に答える