Выходной двумерный массив - PullRequest
1 голос
/ 10 июня 2011

Хорошо, я все еще борюсь со своими массивами ... Я создал двумерный массив и сохранил в сеансе, чтобы получить результаты на другой странице: $ _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 ]

5 голосов
/ 10 июня 2011

$value - это уже массив.Теперь вам нужно только добавить $key к нему.Вы можете использовать array_unshift:

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

Конечно, если вы сделаете это более одного раза, вам следует рассмотреть возможность сохранения консолидированного массива.

1 голос
/ 10 июня 2011

Я бы, вероятно, использовал array_unshift, так как это кажется более подходящим способом решения этой проблемы, но вы также можете сделать это так:

foreach($_SESSION['myARRAY'] AS $key => $value) {
    $xls->addRow(array_merge(array($key), $value));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...