Php 为CSV文件添加新列

Php 为CSV文件添加新列,php,multiple-columns,export-to-csv,Php,Multiple Columns,Export To Csv,我有不同长度的树数组,我想在csv文件的一列中显示每个数组。这是我正在使用的php脚本文件,但没有成功;我复制了数据。 我试图用一个空字符串填充空单元格,这样我就可以有3个长度相同的列 $categories = get_categories( $args ); $categories_level_1 = array(); $categories_level_2 = array(); $categories_level_3 = array();

我有不同长度的树数组,我想在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);
$categories=get_categories($args);
$categories_level_1=数组();
$categories_level_2=数组();
$categories_level_3=数组();
foreach($类别为$cat){
$cat_level=count(获取祖先($cat->term_id,'category');
如果($cat_级别==0){
$categories\u level\u 1[]=$cat;
}否则{
如果($cat_级别==1){
$categories\u level\u 2[]=$cat;
}elseif($cat_级别==2){
$categories\u level\u 3[]=$cat;
}
}
} 
fputcsv($file,array(utf8_解码('Catégories level 1'));
$i=0;
foreach($categories\u level\u 1作为$categories){
$i++;
$category_name=数组(rw_mb_convert_编码($category->name));
fputcsv($file,$categorie\u name);
打印齐平(“\n已创建直线”);
} 
而($iname);
$newCsvData[]=$data;
}
fclose($handle);
}
} 
$handle=fopen($csv_文件_路径,'w');
foreach($newCsvData作为$line){
fputcsv($handle,$line);
} 
fclose($handle);
我应该使用以下结构获取我的专栏:

但事实上,这就是我得到的结果:

发布错误结果的样本getting@gmc我在上面更新了我的问题,但在第一张图片中使用了真实数据,否则很难知道表格在显示错误结果的样本时应该是什么样子getting@gmc我更新了上面的问题,但在第一张图片中使用了真实数据,否则很难知道桌子应该是什么样子