我知道如何使用foreach循环遍历数组的项目并附加逗号,但是总是很难取下最后一个逗号.有一种简单的PHP方式吗?
$fruit = array('apple', 'banana', 'pear', 'grape');
最终我想要
$result = "apple, banana, pear, grape"
rye*_*guy 219
你想为此使用内爆.
即:
$commaList = implode(', ', $fruit);
有一种方法可以在没有尾随的情况下附加逗号.如果你必须同时做一些其他的操作,你会想要这样做.例如,您可能想要引用每个水果,然后用逗号分隔它们:
$prefix = $fruitList = '';
foreach ($fruits as $fruit)
{
    $fruitList .= $prefix . '"' . $fruit . '"';
    $prefix = ', ';
}
另外,如果你只是在每个项目之后添加逗号的"正常"方式(就像你之前听到的那样),你需要修剪掉最后一个,就这样做$list = rtrim($list, ', ').substr在这种情况下,我看到很多人不必要地捣乱.
Nat*_*ate 37
这就是我一直在做的事情:
$arr = array(1,2,3,4,5,6,7,8,9);
$string = rtrim(implode(',', $arr), ',');
echo $string;
输出:
1,2,3,4,5,6,7,8,9
现场演示:http://ideone.com/EWK1XR
编辑: Per @joseantgv的评论,你应该能够rtrim()从上面的例子中删除.即:
$string = implode(',', $arr);
结果and最后:
$titleString = array('apple', 'banana', 'pear', 'grape');
$totalTitles = count($titleString);
if ($totalTitles>1) {
    $titleString = implode(', ', array_slice($titleString, 0, $totalTitles-1)) . ' and ' . end($titleString);
} else {
    $titleString = implode(', ', $titleString);
}
echo $titleString; // apple, banana, pear and grape