使用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
实现这一点。
开始了:
$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()
这样的内置函数,只是不同的命名。