jon*_*boy 2 php mysql arrays oop
使用 PHP,我想从一组对象中选择某些值,将它们连接起来形成一个由逗号分隔的连续字符串,并将其保存到名为$isbn.
我有一个名为$items. Avar_dump($items)产生这个。我需要选择item_isbn值。
我想要的结果是;
echo $isbn
// would produce
// '0-7515-3831-0,978-0-141-38206-7,978-1-30534-114-1'
Run Code Online (Sandbox Code Playgroud)
摆脱连字符将是一个奖励,但我认为我可以使用str_replace.
开始了:
$isbnList = [];
foreach ($arrayObject as $item) {
if (isset($item->item_isbn)) {
$isbnList[] = $item->item_isbn;
}
}
$isbn = implode(",", $isbnList);
Run Code Online (Sandbox Code Playgroud)
核实:
echo $isbn;
Run Code Online (Sandbox Code Playgroud)
供您参考:
foreach有效,是因为它是一个数组。它并不关心里面的每一项。$item循环中的每个对象 ( ) 都是 php 的默认对象(作为您提供的转储数据)。这应该被称为$object->property. 这个对象的属性不一定总是可用,所以通过php内置函数名检查它是否可用isset()是必不可少的。implode()php 的内置函数来构建一个基于 an 的带有分隔符的字符串one side array(意味着这个一侧数组中的每个项目都必须是一个标量值(int,string))。我们构建这个数组以准备调用。现在大多数流行的编程语言都为我们提供了这样的内置函数implode(),只是命名不同。