php
  • postgresql
  • 2014-04-29 121 views -2 likes 
    -2

    我有我的PHP脚本的麻烦从值内修剪空白,因为我输出PostgreSQL的查询结果。的注释行是从print_r();PHP导出过程中去除空白到csv

    <?php 
    
    $db = pg_connect("host=localhost dbname=test user=test password=test"); 
    $result = pg_query($db, "SELECT * FROM table WHERE field = 'test'"); 
    $array = pg_fetch_all($result); 
    
    //Array ([0] => Array ([id_number] => 214 [country] => Zanzibar [sector] => Unguja [site] => Chumbe Island Coral Park (CHICOP) [username] => n) [1] => Array ([id_number] => 213 [country] => Zanzibar [sector] => Unguja [site] => Chumbe Island Coral Park (CHICOP) [username] => n) 
    
    //************* 
    $array_explode = explode(",", $array); 
    $array_trimmed = array_map("trim", $array_explode); 
    $array_implode = implode(",", $array_trimmed); 
    unset($array_explode); 
    //************* 
    
    $fp = fopen('file.csv', 'w'); 
    
    foreach ($array_implode as $fields) { 
    
    fputcsv($fp, $fields); 
    } 
    fclose($fp); 
    
    
    ?> 
    

    返回的数组如果删除了分则CSV输出(只是一大堆不必要的空白的,我已经都具有和不具有implode()尝试之间的行。此。一直在推动我逼疯了和任何帮助将不胜感激

    +0

    你不应该在数组上使用'explode'。 'explode'用于将字符串分割成令牌 – Phil

    +0

    @Phil的阵列,我使用爆炸以获得在所述阵列中的各个值。 – user2727439

    +0

    然后你做错了。恰当地命名'$ array'已经是数组了 – Phil

    回答

    0

    我能得到它使用您的代码工作:

    <?php 
    $array = Array (0 => Array ('id_number' => 214, 'country' => 'Zanzibar', 'sector' => 'Unguja', 'site' => 'Chumbe Island Coral Park (CHICOP)', 'username' => 'n'), 
         1 => Array ('id_number' => 213, 'country' => 'Zanzibar', 'sector' => 'Unguja', 'site' => 'Chumbe Island Coral Park (CHICOP)', 'username' => 'n')); 
    
    $fp = fopen('file.csv', 'w'); 
    foreach ($array as $fields) { 
         $array_trimmed = array_map("trim", $fields); 
         fputcsv($fp, $array_trimmed); 
    } 
    fclose($fp); 
    

    从FILE.CSV输出:

    214,Zanzibar,Unguja,"Chumbe Island Coral Park (CHICOP)",n 
    213,Zanzibar,Unguja,"Chumbe Island Coral Park (CHICOP)",n 
    
    +0

    @rmctrazier感谢您的答复。我也许应该拿出评论阵列,因为我只是用它来测试(我现在会拿出来保存任何进一步的混淆)。代码中的'$ array'值传递了一个值数组,我也将其编辑到原始代码块中。再次 – user2727439

    +0

    @rmctrazier感谢您的答复,问题虽然,没有什么在那里修剪空白?我做appologise,因为我认为我输出关于没有空格的唯一值! – user2727439

    +0

    我更新了我的答案,包括一个空白被写入到文件之前修剪领域。 – rmcfrazier

    相关问题