我有这个对象数组:
array (size=[...])
0 =>
object(stdClass)[2382]
public 'id' => string '1' (length=1)
1 =>
object(stdClass)[2383]
public 'id' => string '2' (length=1)
[...]
如何将其序列化为1, 2, [...]
?
我尝试使用implode(', ', $array)
,但由于它是一个对象,因此返回CATCHABLE FATAL ERROR: OBJECT OF CLASS STDCLASS COULD NOT BE CONVERTED TO STRING
答案 0 :(得分:1)
你想要做的不是序列化事物(这个术语通常指的是将对象实例转换为二进制形式),而是 map 每个元素(对象)到它的id然后连接这些id。
你可以这样做:
$ids = array_map(function($obj) { return $obj->id; }, $array);
echo implode(', ', $ids);