使用分隔符,implode()生成PHP对象属性列表的最佳方法?

Chr*_*ris 2 php iteration list object implode

我试图找出是否有更好的方法来创建对象的子对象的属性列表.(粗略的措辞道歉,我不是一个OO专家)

我有一个对象"事件",其中包含一系列"艺术家",每个艺术家都有一个"artist_name".在我的HTML输出中,我想要一个由逗号分隔的艺术家名称的简单列表.

PHP的implode()似乎是创建以逗号分隔的值列表的最佳方式.我目前正在迭代对象并在临时数组"artistlist"中推送值,因此我可以使用implode().

这是我能想到的最短时间.有没有办法让这更优雅?

$artistlist = array();
foreach ($event->artists as $artist)
{
    $artistlist[] = $artist->artist_name;
}
echo implode(', ', $artistlist);
Run Code Online (Sandbox Code Playgroud)

out*_*tis 9

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

implode(', ', array_map(function ($artist) { 
        return $artist->artist_name;
    } , $event->artists));
Run Code Online (Sandbox Code Playgroud)

哪个更优雅,我留给你.