使用PHP连接字符串并用逗号分隔。

3
使用PHP,我想要从一个对象数组中选择特定值,将它们连接成一个由逗号分隔的连续字符串,并将其保存到名为$isbn的变量中。
我有一个名为$items的对象数组。 var_dump($items) 的输出结果是这个。我需要选择item_isbn的值。
我的期望结果是:
echo $isbn

// would produce
// '0-7515-3831-0,978-0-141-38206-7,978-1-30534-114-1'

除去连字符将是一个额外的好处,但我认为我可以使用str_replace实现这一点。

1个回答

6

我们开始吧:

$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 中的函数,可以基于“单侧数组”(这意味着此一侧数组中的每个项目都必须是标量值 (int、string) ),使用分隔符构建字符串。我们构建这个数组以准备调用函数。
  • 其他内容只是关于如何处理数组或对象的语法... 您可以轻松在 php 手册页面上查找,例如:http://php.net/manual/en/language.types.array.php

现在大多数流行的编程语言都提供了像 implode() 这样的内置函数,只是名称不同而已。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接