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)
没有更快的方法.使用PHP 5.3,您可以使用array_map和匿名函数:
implode(', ', array_map(function ($artist) {
return $artist->artist_name;
} , $event->artists));
Run Code Online (Sandbox Code Playgroud)
哪个更优雅,我留给你.