1

このように(フォーマットせずに)出力する多次元配列を作成しようとしています:

array(3) {
  [0]=> array(5) {
    [0]=> int(0) 
    [1]=> string(5) "Arena" 
    [2]=> string(18) "2012-05-3017:00:00" 
    [3]=> string(18) "2012-05-3000:00:00" 
    [4]=> string(33) "Masquerade Checkin (Participants)" 
}, 

  [1]=> array(5) {
    [0]=> int(0) 
    [1]=> string(10) "Workshop 1"
    [2]=> string(18) "2012-05-3017:00:00"
    [3]=> string(18) "2012-05-3000:00:00"
    [4]=> string(15) "Death Note (Live)" 
},

  [2]=> array(5) {
    [0]=> int(0) 
    [1]=> string(7) "Video 6" 
    [2]=> string(18) "2012-05-3017:00:00"
    [3]=> string(18) "2012-05-3000:00:00"
    [4]=> string(26) "Takeuchi Fan Panel" 
  }
}

上記のコードから、内部のarray()の長さは常に5であることに注意してください。

これが私のコードです:

$loopsArray = array();
$data=array();
// graphing info come in here. 
foreach ($events as $key => $event) {

    $el=$event['event_location'] ;
    $eln=$event['event_locationName'];
    $ed=$event['event_date'];
    $es=$event['event_start'];
    $ee=$event['event_end'];
    $en=$event['event_name'];

    array_push($loopsArray,$el,$eln, $ed.$es,$ed.$ee,$en);
    array_push($data,$loopsArray);


}
var_dump($data);

ここにプリントアウト

array(27) {
  [0]=> array(5) {
    [0]=> int(0)
    [1]=> string(5) "Arena"
    [2]=> string(18) "2012-05-3017:00:00"
    [3]=> string(18) "2012-05-3000:00:00"
    [4]=> string(33) "Masquerade Checkin (Participants)" 
  } 

  [1]=> array(10) { 
    [0]=> int(0) 
    [1]=> string(5) "Arena" 
    [2]=> string(18) "2012-05-3017:00:00"
    [3]=> string(18) "2012-05-3000:00:00"
    [4]=> string(33) "Masquerade Checkin (Participants)"
    [5]=> int(13)
    [6]=> string(11) "Autograph 1"
    [7]=> string(18) "2012-06-2419:00:00"
    [8]=> string(18) "2012-06-2422:00:00"
    [9]=> string(17) "Parents and Anime" 
  } 
  //... continues 
}

内側の配列の長さは、反復ごとに2倍になることに注意してください。array(5)array(10)array(15)array(20)。

最後の内部配列で最大60個の要素を2倍にします。各内部配列には、5つの要素のみが含まれている必要があります。なぜ倍増しているのか、どうやって修正するのかわかりません。私のループを調べて、それを修正する方法を教えてもらえますか?

このコードをJpGraphで機能させるには、この多次元配列を使用する必要があります。

4

1 に答える 1

2

ヒント:$loopsArray = array();内部に書き込むforeach

より良いアプローチ

それ以外の

array_push($loopsArray,$el,$eln, $ed.$es,$ed.$ee,$en);
array_push($data,$loopsArray);

これを試して

$temp = array ($el,$eln, $ed.$es,$ed.$ee,$en);
$data[] = $temp;
于 2012-07-23T19:18:58.080 に答える