0

PHP で .csv ファイルに配列を書き込む必要があります。

配列の例:

$array = array(
    "name" => "John",
    "surname" => "Doe",
    "email" => "nowhere@nowhere.com"
);

を使用するimplode(",", $array)と、次のような結果が得られます。
John,Doe,nowhere@nowhere.com

ただし、各要素のキーもファイルに書き込む必要があります。

目的の出力は次のとおりです。
name:John,surname:Doe,email:nowhere@nowhere.com

どうすればこれを達成できますか?

4

5 に答える 5

11

このコードを試してください:

$out = $sep = '';
foreach( $array as $key => $value ) {
    $out .= $sep . $key . ':' . $value;
    $sep = ',';
}
于 2012-11-28T12:06:43.657 に答える
1
$csv = "";

foreach($array as $key => $data)
{
    // be sure to add " in your csv
    $csv .= '"'.$key.':'.$data.'",';
}

// and add a new line at the end
$csv .= "\n";

echo $csv;
于 2012-11-28T12:06:41.730 に答える
0

上記の回答は、最後に末尾のコンマを出力します。これを修正するには、次の関数を使用します。

$array = array(
    "name" => "John",
    "surname" => "Doe",
    "email" => "nowhere@nowhere.com"
);
function implodeKV($glueKV, $gluePair, $KVarray){
    $t = array();
    foreach($KVarray as $key=>$val) {
        $t[] = $key . $glueKV . $val;
    }
    return implode($gluePair, $t);
}

echo implodeKV( ':' , ',' , $array);
// outputs  name:John,surname:Doe,email:nowhere@nowhere.com

http://phpassist.com/2dde2#2

于 2014-08-01T22:52:34.353 に答える
-1
<?php
$array = array(
"name" => "John",
"surname" => "Doe",
"email" => "nowhere@nowhere.com"
);
foreach( $array as $key=>$data ) {
$output .= $comma . $key . ':' . $data;
$comma = ',';
}

echo $output;

?>
于 2012-11-28T12:31:30.103 に答える