PHP为每个项添加逗号,但最后一个

时间:2011-03-26 05:35:32

标签: php csv for-loop

我有一个像

这样的循环
foreach ($_GET as $name => $value) {
    echo "$value\n";
}

我想在每个项目之间添加一个逗号,以便它最终结束。

var1, var2, var3

由于我使用的是foreach,我无法分辨出我所使用的迭代次数。

我怎么能这样做?

6 个答案:

答案 0 :(得分:37)

使用foreach构建输出,然后内爆该数组并输出结果:

$out = array();
foreach ($_GET as $name => $value) {
    array_push($out, "$name: $value");
}
echo implode(', ', $out);

答案 1 :(得分:6)

像这样:

$total = count($_GET);
$i=0;
foreach ($_GET as $name => $value) {
    $i++;
    echo "$name: $value";
    if ($i != $total) echo', ';
}

解释:您可以通过count()找到所有值的总数。运行foreach()循环时,计算迭代次数。在循环内部,当迭代不是最后一次时(不等于所有值的总数),它告诉它回显','。

答案 2 :(得分:4)

$comma_separated = implode(", ", $_GET);

echo $comma_separated;

你可以使用implode并实现

答案 3 :(得分:2)

你也可以这样做:

$output = '';
foreach ($_GET as $name => $value) {
    $output = $output."$name: $value, ";
}
$output = substr($output, 0, -2);

只需要输出一个巨大的字符串。不同风格的不同方法,真的。

答案 4 :(得分:1)

抱歉,我没有正确陈述我的问题。 对我有用的答案是

implode(', ', $_GET);

谢谢,好的阿梅里奥

答案 5 :(得分:0)

我通常会做这样的事情(伪代码):

myVar

for... {
    myVar = i + ","
}

myVar = trimOffLastCharacter(myVar)

echo myVar