0

是否有替代 PHP 的序列化需要更少空间的替代方法?

我问是因为我已经序列化了一个对象数组,并且我注意到大多数字节都用于保存类的名称。因此,即使没有必要,相同的字符串也会一次又一次地出现。

4

1 回答 1

0

实现序列化很简单:

function serialize2($arr){
  result='';
  foreach($arr as $key=>$val) $result.=(is_array($val)?serialize2($val):$key.'=>'.$val)
  return result;
}

棘手的一点是基于规则的压缩。当您说“我注意到大多数字节用于保存类的名称”时,您基本上是在说“似乎有一个规则,如何以更压缩的方式输出内容”。由于我不知道您的数据,并且您似乎没有确定存在哪些规则,因此我的帮助到此停止。从这里您可以尝试识别规则并将它们构建到我给您的序列化函数中。

于 2013-09-12T13:49:47.207 回答