【问题标题】:Join strings and separate with a comma using PHP [duplicate]使用PHP加入字符串并用逗号分隔[重复]
【发布时间】:2017-10-09 09:15:26
【问题描述】:

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

【问题讨论】:

    标签: php mysql arrays oop


    【解决方案1】:

    我们开始吧:

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

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

    【讨论】:

      猜你喜欢
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多