生成带有分隔符的PHP对象属性列表的最佳方法是内爆()?
我试图找出是否有一种更理想的方法来创建对象的子对象属性列表。(为粗俗的措辞道歉,我不是一个真正的OO专家) 我有一个对象“事件”,它有一个“艺术家”集合,每个艺术家都有一个“艺术家名称”。在我的HTML输出中,我想要一个由逗号分隔的艺术家姓名的简单列表 PHP的内爆()似乎是创建逗号分隔的值列表的最佳方法。我目前正在迭代对象,并在临时数组“artistlist”中推送值,以便可以使用implode() 这是我能想出的最短的。有没有更优雅的方法生成带有分隔符的PHP对象属性列表的最佳方法是内爆()?,php,list,object,iteration,implode,Php,List,Object,Iteration,Implode,我试图找出是否有一种更理想的方法来创建对象的子对象属性列表。(为粗俗的措辞道歉,我不是一个真正的OO专家) 我有一个对象“事件”,它有一个“艺术家”集合,每个艺术家都有一个“艺术家名称”。在我的HTML输出中,我想要一个由逗号分隔的艺术家姓名的简单列表 PHP的内爆()似乎是创建逗号分隔的值列表的最佳方法。我目前正在迭代对象,并在临时数组“artistlist”中推送值,以便可以使用implode() 这是我能想出的最短的。有没有更优雅的方法 $artistlist = array(); for
$artistlist = array();
foreach ($event->artists as $artist)
{
$artistlist[] = $artist->artist_name;
}
echo implode(', ', $artistlist);
除了自己创建字符串并在每个艺术家后面添加逗号(这意味着您还需要适当地处理最后的逗号),您已经有了最简洁的方法来完成这项工作。没有更快的方法。使用PHP 5.3,您可以使用和:
哪个更优雅,我留给你。有趣的是,我没想到。我喜欢。:)@直觉:
create\u函数
太不雅观了。我通常从不为它烦恼。确切地说,最后一个逗号是我试图避免的
implode(', ', array_map(function ($artist) {
return $artist->artist_name;
} , $event->artists));