程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

最佳实践:处理 foreach 中的第一项/最后一项

发布于2022-08-18 21:44     阅读(1128)     评论(0)     点赞(14)     收藏(2)


很多时候我都遇到过这样的情况

$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 = ",";
}


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/356634/97e7da578610b2af6a56/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)