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

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.

Tha*_*gTD 5

开始了:

$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))。我们构建这个数组以准备调用。
  • 其余的只是关于如何使用数组或对象的语法......您可以轻松地在 php 手册页上查找,例如:http : //php.net/manual/en/language.types.array.php

现在大多数流行的编程语言都为我们提供了这样的内置函数implode(),只是命名不同。