2

我试图找出是否有更优化的方法来创建对象的子对象属性列表。(为粗鲁的措辞道歉,我并不是真正的 OO 专家)

我有一个对象“事件”,其中包含“艺术家”的集合,每个艺术家都有一个“艺术家名称”。在我的 HTML 输出中,我想要一个以逗号分隔的艺术家姓名的简单列表。

PHP 的 implode() 似乎是创建以逗号分隔的值列表的最佳方式。我目前正在遍历对象并将值推送到临时数组“艺术家列表”中,因此我可以使用 implode()。

这是我能想到的最短的。有没有办法更优雅地做到这一点?

$artistlist = array();
foreach ($event->artists as $artist)
{
    $artistlist[] = $artist->artist_name;
}
echo implode(', ', $artistlist);
4

2 回答 2

9

真的没有更快的方法。使用 PHP 5.3,您可以使用array_map匿名函数

implode(', ', array_map(function ($artist) { 
        return $artist->artist_name;
    } , $event->artists));

哪个更优雅,我留给你。

于 2010-03-28T02:13:20.140 回答
0

除了自己创建字符串并在每个艺术家之后附加逗号(这意味着您还需要适当地处理最后的逗号)之外,您已经有了最简洁的方法来执行此操作。

于 2010-03-28T02:12:46.397 回答