Добавить новые столбцы для файла CSV

У меня есть массивы деревьев разной длины, и я хочу отобразить каждый массив в столбце моего CSV-файла. Это файл сценария php, который я использую, но безуспешно; Я получил дублированные данные.
Попытка, которую я попытался, состояла в том, чтобы заполнить пустые ячейки пустой строкой, чтобы у меня было 3 столбца одинаковой длины.

$categories = get_categories( $args );
$categories_level_1 = array();
$categories_level_2 = array();
$categories_level_3 = array();

foreach ($categories as  $cat ) {
$cat_level =count( get_ancestors($cat->term_id, 'category') );
if($cat_level == 0){
$categories_level_1[] = $cat;

}else{
if($cat_level == 1){
$categories_level_2[] = $cat;

}elseif($cat_level == 2){
$categories_level_3[] = $cat;

}
}
}
fputcsv($file, array(utf8_decode('Catégories level 1')));

$i=0;
foreach ($categories_level_1 as $category) {
$i++;
$categorie_name = array(rw_mb_convert_encoding($category->name));
fputcsv($file, $categorie_name );
print_flush("\n liine created");

}
while( $i < count($categories_level_2)){
$i++;
fputcsv($file,  array(" "));
print_flush("\n liine  vide created");
}fclose($file);

$newCsvData = array();

foreach ($categories_level_2 as $cat) {
if (($handle = fopen($csv_file_path, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$data[] = rw_mb_convert_encoding($cat->name);
$newCsvData[] = $data;
}
fclose($handle);
}}
$handle = fopen($csv_file_path, 'w');

foreach ($newCsvData as $line) {
fputcsv($handle, $line);
}
fclose($handle);

Я должен получить мои столбцы со следующей структурой:
введите описание изображения здесь

Но на самом деле это результат, который я получил:
введите описание изображения здесь

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector