如何将查询返回的值数组转换为逗号分隔值

时间:2011-06-07 08:02:45

标签: php mysql arrays

我有一个使用此代码返回的结果集:

while ($row = mysql_fetch_array( $result )) {

echo "ID ".$row['v2id'];

}

返回ID 2ID 3ID 4ID 8

我如何将其转换为逗号分隔值,然后将它们存储在变量中?

所以如果我回显变量,最终输出应该看起来像2,3,4,8

5 个答案:

答案 0 :(得分:6)

将所有值存储在数组中,然后使用“,”作为粘合剂

连接它们
$values = array();

while ($row = mysql_fetch_array( $result )) {
    $values[] = $row['v2id'];
}

echo join(", ", $values);

答案 1 :(得分:1)

将所有值添加到数组中,然后implode使用', '作为粘合剂

$result = array();
while ($row = mysql_fetch_array($result)) {
    $result[] = $row['v2id'];
}
echo implode(', ', $result);

答案 2 :(得分:1)

$data = array(1,2,'Hello',3,4,'1,234.56');

$outstream = fopen("php://temp", 'r+');
fputcsv($outstream, $data, ',', '"');
rewind($outstream);
$csv = fgets($outstream);
fclose($outstream);

答案 3 :(得分:1)

$ids = array();

while ($row = mysql_fetch_array( $result )) {
    $ids[] = (int)$row['v2id'];
}

echo implode(", ", $values);

1ID 2ID 3ID 4ID 8可以通过(int)$ row ['v2id']转换为int,所以$ ids只包含int。

答案 4 :(得分:0)

我的方式就是这个

$csv = '';
while ($row = mysql_fetch_array( $result )) {
   /* Note the '.=' - appends variable */
   $csv .= "ID ".$row['v2id'];
   $csv .= ','; // This is the bit I missed out
}
/* Remove the final trailing comma */
$csv = substr($csv, 0, -1);
echo $csv;

发现“蓄意”错误的金星来到ssapkota