我很多次遇到这样的情况
$str = '';
foreach($arr as $item)
{
$str .= $item . ',';
}
结果将是类似$str = item1,item2,item3,
。但我不希望,
最后。
现在有一些方法可以摆脱这种情况,
。
例如
substr()
削减,
。编写函数以检测最后一项并更改循环的主体以
$str .= $item;
if(!last($item))
$str .= ',';
我认为这可读性很好,但是程序会检查每一项是否为最后一项,显然只有这种情况了。
implode(',', $arr)
(但是让我们假设这是不可能的。考虑一下更复杂的循环体)在foreach循环中处理最后一个(或第一个)项目的最佳实践是什么?
在没有类似join
方法的语言中,这是我使用(并看到使用)一段时间了。
result = ""
delim = ""
foreach(string in array)
result += delim + string
delim = ","
(适用于您喜欢的语言)
在您使用PHP的情况下,它看起来像
$str = "";
$delim = "";
foreach($arr as $item) {
$str .= $delim + $item;
$delim = ",";
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句