我有一个像
这样的循环foreach ($_GET as $name => $value) {
echo "$value\n";
}
我想在每个项目之间添加一个逗号,以便它最终结束。
var1, var2, var3
由于我使用的是foreach
,我无法分辨出我所使用的迭代次数。
我怎么能这样做?
答案 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