2

大家好,我需要这样做,

我有一个共同的循环

foreach ($stuffs as $stuff) {
echo $stuff;
}

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

1,23,54,67 (comma separated) 

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

应该与内爆?我怎样才能做到这一点?

4

4 回答 4

16

内爆应该是工具:

implode(",", $stuffs);

将返回一个逗号分隔的列表。

测试

$myarray=array(1,2,"hello",4,5);
echo implode(",", $myarray);

返回

1,2,hello,4,5
于 2013-09-09T14:56:12.960 回答
1

如果你真的想要循环:

$values = "";

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

echo $values;

我建议使用内爆,但如果你想做更多的事情,循环真的可以给你更多的力量。

于 2013-09-09T15:02:48.430 回答
1

这在我的情况下有效(检测循环是否不是最后一次迭代):

foreach($array as $key => $val){
    ...
    if($key!==count($array)-1){echo ',';}
}
于 2017-12-02T16:35:24.567 回答
0

应该很简单:

$string = implode(",",$stuffs);
echo $string
于 2013-09-09T14:57:51.763 回答