У меня есть многомерный массив, который выглядит так:
Array (
[email1@fake.com] => Array (
[0] => Array (
[asin] => B004HFS6Z0
[title] => Kindle, Wi-Fi, Graphite, 6" Display
[price] => 114.00
[map] => 125.00 ) )
[email2@fake.com] => Array (
[0] => Array (
[asin] => B004CYX17O
[title] => Rizzy Home Apple 10-Piece Comforter Set, King
[price] => 502.80
[map] => 520.00 ) ) )
Я пытаюсь экспортировать вложенный массив под адресом электронной почты в файл, а затем отправить его на адрес электронной почты. До сих пор я только мог экспортировать оба подмассива в один файл и не смог заставить его перезаписать файл для второго подмассива.
Вот код, с которым я работаю:
require('export-xls.class.php');
$filename = 'email.xls';
$xls = new ExportXLS($filename);
$header[] = "ASIN";
$header[] = "Title";
$header[] = "Retail";
$header[] = "MAP";
$xls->addHeader($header);
//create temp csv file and email from subarray
foreach($map_check2 as $email => $value) {
//$fp = fopen('uploads/email.csv', 'w+');
foreach($value as $subkey => $subvalue) {
//echo $email . "<br>";
//print_r($subvalue) . "<br>";
//fputcsv($fp, $subvalue);
$xls->addRow($subvalue);
}
$xls->emailFile();
}
Мне нужно экспортировать его в файл Excel, и я использовал для этого файл export-xls.class. Я бы использовал csv, но периодически в массиве будут запятые в значениях.
emailFile ():
public function emailFile() {
#build the xls
$xls = $this->buildXLS();
$fp = fopen("uploads/email.xls", "w+");
fwrite($fp, $xls);
fclose($fp);
}
У кого-нибудь есть мысли? Или это имеет смысл?