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 
}

请注意,内部数组的长度每次迭代都会加倍。数组(5)数组(10)数组(15)数组(20)。

它将最后一个内部数组中的最多 60 个元素加倍。每个内部数组中应该只有 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 回答