我有一系列我想要崩溃的物体。我只对该数组的一个属性感兴趣。是否有一种更简单的方法可以执行此操作而无需遍历集合?
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().",";
}
我认为必须有一种更便宜的方法来获得相同的结果;
答案 0 :(得分:3)
在array_map
之前使用implode
:
$ids = implode(",", array_map(function ($item) {
return $item->getId();
}, $itemList);
答案 1 :(得分:-3)
您只需使用$ids = implode(',',$itemList);