在PHP循环中构建逗号分隔的字符串

Pau*_*osa 2 php arrays loops

大家好,我需要这样做,

我有一个共同的循环

foreach ($stuffs as $stuff) {
echo $stuff;
}
Run Code Online (Sandbox Code Playgroud)

让我们假设$ stuff是我拥有的mysql表的'id',我不希望在下一个结果中显示,所以我想构建一个像这样的字符串

1,23,54,67 (comma separated) 
Run Code Online (Sandbox Code Playgroud)

因此该字符串将在mysql查询中以排除已经显示的结果.我怎样才能做到这一点?

应该与内爆?我怎样才能实现这一目标?

fed*_*qui 13

内爆应该是工具:

implode(",", $stuffs);
Run Code Online (Sandbox Code Playgroud)

将返回以逗号分隔的列表.

测试

$myarray=array(1,2,"hello",4,5);
echo implode(",", $myarray);
Run Code Online (Sandbox Code Playgroud)

回报

1,2,hello,4,5
Run Code Online (Sandbox Code Playgroud)

  • 这假设$ stuffs已经是一个数组,而它不一定是这样的.它可以是可迭代的其他东西 (2认同)

Hos*_*nde 5

如果你真的想要循环:

$values = "";

foreach ($stuffs as $stuff) {
    $values != "" && $values .= ",";
    $values .= $stuff;
 }

echo $values;
Run Code Online (Sandbox Code Playgroud)

我建议使用内爆,但如果你想做一些进一步的事情,循环确实可以给你更多的力量。