Как в fputcsv вывести вложенный массив в массиве?

Добрый вечер! Подскажите как решить такую задачу:

Имеем такой массив:
$closes = [
            'title' => $title,
            'uri' => str_replace('/', '', $titleSlug),
            'article' => $article,
            'description' => trim(str_replace('Обзорная статья о данном товаре', '', $description)),
            'thumbnail' => "/images/" . $article . strrchr($thumbnail, '/'),
            'price' => $price,
            'images' => $images,
            'values' => $properties
        ];

images и values являются массивами.

Нужно данный массив со вложенными массивами записать в csv. Сейчас такая ситуация:

61880ba4c25a2318209946.png

Нужно чтобы данные из массива images и values записывались далее по строке вправо, то есть так:
61880c9042427728090106.png

Заранее благодарен!
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
@rPman
Если данные будут смотреть люди исключительно глазами (и в лучшем случае в экселе фильтрацию по подстроке будут делать), до достаточно список в ячейку разместить объединив строки с помощью implode, с каким нибудь разделителем, например ';' или '|' (очень редко используется, коллизий будет гораздо меньше, что даже можно считать машиночитаемым)

Если с данными нужно будет работать, например фильтрация, то делай декардово произведение по каждой строке с со своим списком. В результате данных из-за дублирования будет очень много (на столько что это часто становится проблемой) но зато с таким документом более менее можно работать (фильтрация работает прямо в интерфейсе экселевского фильтра) плюс машиночитаемо, плюс и глазами кое что можно разглядеть.

Эксель - наиболее неудобный инструмент для передачи данных, все из-за того, что обычные пользователи не желают осваивать базы данных и sql, хотя визуальных их редакторов уже пруд пруди...

Советую вспомнить хотя бы ms access (если уж закупили офис и на что то другое тратиться нет желания и сил), одно время mdb файлы даже как файлы экспорта данных и даже формат хранения использовались, удобно, машиночитаемо, компактно и интерфейс прямо на рабочем столе.

Сейчас это не имеет значения, почти для любой базы данных есть удобные инструменты, так что передавать можно к примеру в sqlite формате, или sql, или хотя бы в csv файлах (жуть как неудобно, но страдальцы могут хотя бы без каких либо знаний открыть их в любимом экселе)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы