使用PHP加入字符串并用逗号分隔

时间:2017-05-10 15:47:23

标签: php mysql arrays oop

使用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实现这一点。

1 个答案:

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

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