使用PHP,我想从一个对象数组中选择某些值,将它们连接起来形成一个用逗号分隔的连续字符串,并将其保存到名为$isbn
的变量中。
我有一个名为$items
的对象数组。 var_dump($items)
生成this。我需要选择item_isbn
值。
我想要的结果是;
echo $isbn
// would produce
// '0-7515-3831-0,978-0-141-38206-7,978-1-30534-114-1'
摆脱连字符将是一个奖励,但我想我可以使用str_replace
实现这一点。
答案 0 :(得分:2)
我们走了:
$isbnList = [];
foreach ($arrayObject as $item) {
if (isset($item->item_isbn)) {
$isbnList[] = $item->item_isbn;
}
}
$isbn = implode(",", $isbnList);
检查:
echo $isbn;
供您参考:
foreach
有效,因为它是一个数组。它并不关心其中的每个项目。$item
)都是php的默认对象(作为您提供的转储数据)。应该被称为$object->property
。此对象的属性不确定始终可用,因此检查它是否可由php内置函数名isset()
使用是必不可少的。implode()
是来自php的内置函数,用one side array
构建一个带分隔符的字符串(意味着这一侧数组中的每个项必须是标量值(int,string) ))。我们构建这个数组以准备接听电话。现在大多数流行的编程语言都为我们提供了这样的内置函数implode()
,只是命名不同。