php - 生成带有定界符 implode() 的 PHP 对象属性列表的最佳方法?

标签 php list object iteration implode

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

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

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

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

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

最佳答案

确实没有更快的方法。在 PHP 5.3 中,您可以使用 array_map和一个 anonymous function :

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

哪个更优雅,我留给你。

关于php - 生成带有定界符 implode() 的 PHP 对象属性列表的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2531640/

相关文章:

list - Elixir:将列表转换为具有整数键的映射

asp.net - Dapper 问题。从返回的对象中获取值

php - 具有特殊字符的值在 mysql 数据库中最终会有所不同

php - 使用 PHP 的 PayPal curl 调用没有响应

list - 从另一个创建列表

python - 根据条件合并两个列表

java - 进程中创建的字符串对象总数?

javascript - 如何在 typescript 中解构枚举值?

php - 将 2 个 if 语句放在一起

php - 在php中的多个表中插入条目