我使用foreach循环来回显我的数据库中的一些值,如果有意义,我需要从最后一个循环中删除最后一个逗号.
我的循环很简单,如下所示
foreach($results as $result){
echo $result->name.',';
}
Run Code Online (Sandbox Code Playgroud)
哪个回声
result,result,result,result,
Run Code Online (Sandbox Code Playgroud)
我只需要杀掉那个讨厌的最后一个逗号.
任何帮助都会很棒:)
干杯
Lel*_*mbo 107
更好:
$resultstr = array();
foreach ($results as $result) {
$resultstr[] = $result->name;
}
echo implode(",",$resultstr);
Run Code Online (Sandbox Code Playgroud)
Gla*_*vić 24
|之前添加$s = '';
foreach ($results as $result) {
if ($s) $s .= '|';
$s .= $result->name;
}
echo $s;
Run Code Online (Sandbox Code Playgroud)
|仅在不是最后一项时才回显$s = '';
$n = count($results);
foreach ($results as $i => $result) {
$s .= $result->name;
if (($i+1) != $n) $s .= '|';
}
echo $s;
Run Code Online (Sandbox Code Playgroud)
$s = array();
foreach ($results as $result) {
$s[] = $result->name;
}
echo implode('|', $s);
Run Code Online (Sandbox Code Playgroud)
|(或者rtrim它)$s = '';
foreach ($results as $result) {
$s .= $result->name . '|';
}
echo substr($s, 0, -1); # or # echo rtrim($s, '|');
Run Code Online (Sandbox Code Playgroud)
array_map()echo implode('|', array_map(function($result) { return $result->name; }, $results));
Run Code Online (Sandbox Code Playgroud)
Mik*_*ike 13
$result_names = '';
foreach($results as $result){
$result_names .= $result->name.',';
}
echo rtrim($result_names, ',');
Run Code Online (Sandbox Code Playgroud)
sha*_*mar -11
首先使用输出缓冲获取所有输出。然后,修剪逗号并显示它。所以,这样做:
ob_start();
foreach($results as $result)
{
echo $result->name.',';
}
$output = ob_get_clean();
echo rtrim($output, ',');
Run Code Online (Sandbox Code Playgroud)
如果内部循环非常大(并且 OP 在此发布只是为了简洁起见),则输出缓冲方法会有所帮助,然后使用 OB 会更容易,而无需更改循环的内部结构。