3

这就是我的意思:

foreach ($array as $a) {
 echo $a.',<br/>';
}

当前输出为:

a,
a,
a,
a,

我希望输出是这样的:

a,
a,
a,
a

(所有 'a' 用逗号分隔,当涉及到最后一个循环时,它不写逗号)

4

6 回答 6

10

试试这个:

echo implode(",<br/>", $array);
于 2013-03-28T21:26:21.863 回答
3

如果数组的长度太大或者您有多维数组,请使用以下代码

<?php $len=count($array);
    foreach($array as $a){ 
        echo $a; 
        if( $len > 1) echo ','; 
        $len--;
 } ?>
于 2016-10-22T19:40:38.460 回答
2

如果您还想将数组中的任何换行符转换为<br />,如果您正在输出,这可能是理想的:

echo nl2br(implode(',' . PHP_EOL, $array));
于 2013-03-28T21:27:43.290 回答
1

PHP 有这样的implode功能:

 implode(",<br>", $array);
于 2013-03-28T21:26:35.923 回答
1

没有人说你可以这样:

foreach($array as $element) { 
    $separator = ($element != end($array)) ? ",<br />" : '';
// or $separator = ($element == end($array)) ? '' : ",<br />";   
    echo $element.$separator;
}

我想这将准确地输出你想要的。

于 2018-04-17T14:55:45.477 回答
0

你应该使用implode除了一种情况。

如果输出很大,并且您不想在发送到输出之前将其保存在内存中(例如逐项处理),那么您应该执行以下操作:

$remain=count($array);
foreach ($array as $a) {
    echo $a;
    if($remain-->0) echo ',';
    echo '<br/>';
}
于 2013-03-28T21:31:30.337 回答