序列化对象数组

时间:2014-03-11 09:57:09

标签: php arrays serialization

我有这个对象数组:

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

1 个答案:

答案 0 :(得分:1)

你想要做的不是序列化事物(这个术语通常指的是将对象实例转换为二进制形式),而是 map 每个元素(对象)到它的id然后连接这些id。

你可以这样做:

$ids = array_map(function($obj) { return $obj->id; }, $array);
echo implode(', ', $ids);