如何在对象数组上使用PHP内爆

时间:2014-08-20 16:21:09

标签: php arrays

我有一系列我想要崩溃的物体。我只对该数组的一个属性感兴趣。是否有一种更简单的方法可以执行此操作而无需遍历集合?

class Item {
    private $id;
    private $name;

    function __construct($id, $name) {
        $this->id=$id;
        $this->name=$name;
    }

    //function getters.....
}

$itemList=[new Item(1, "Item 1"), new Item(2, "Item 2"), new Item(3, "Item 3"), new Item(4, "Item 4")];

我想将$ itemList($ id)返回给逗号分隔的id字符串,即1,2,3,4,5。我知道我可以通过

实现这一目标
$ids="";
foreach($itemList as $item){
    $ids=$ids.$item->getId().",";
}

我认为必须有一种更便宜的方法来获得相同的结果;

2 个答案:

答案 0 :(得分:3)

array_map之前使用implode

$ids = implode(",", array_map(function ($item) {
    return $item->getId();
}, $itemList);

答案 1 :(得分:-3)

您只需使用$ids = implode(',',$itemList);

即可