输出二维数组

时间:2011-06-10 16:34:16

标签: php multidimensional-array

好吧,我还在努力学习我的数组......我创建了一个二维数组并保存到一个会话中以在另一个页面上获得结果:$ _SESSION ['myARRAY']

print_r($_SESSION['myARRAY']);

// will output:
Array ( [Car] => Array ( [0] => 1 [1] => 9 [2] => 0 ) 
        [Truck] => Array ( [0] => 2 [1] => 10 [2] => 0 ) 
        [Bus] => Array ( [0] => 1 [1] => 8 [2] => 2 ))

现在我需要将数据输出为以下格式:

$xls->addRow(Array("Car",1,9,0));
$xls->addRow(Array("Truck",2,10,0));
$xls->addRow(Array("Bus",1,8,2));

我试着这样做:

foreach($_SESSION['myARRAY'] AS $key => $value) {

    $arr[$key] = $key;

    foreach($value AS $k => $v) {
        $arr[$key] = $v;
    }

    $xls->addRow($arr[$key]);
}

但它并没有真正起作用。我想我很亲密但不太相似......

2 个答案:

答案 0 :(得分:5)

$value已经是一个数组。现在,您只需要将$key添加到其中。您可以使用array_unshift

foreach($_SESSION['myARRAY'] AS $key => $value) {
    array_unshift($value, $key);
    $xls->addRow($value);
}

当然,如果您多次执行此操作,则应考虑存储合并数组。

答案 1 :(得分:1)

我可能会使用array_unshift,因为这似乎是解决此问题的更合适的方法,但您也可以这样做:

foreach($_SESSION['myARRAY'] AS $key => $value) {
    $xls->addRow(array_merge(array($key), $value));
}