SplPriorityQueue 序列化并反序列化后结果为空问题解决
今天在尝试把 SplPriorityQueue 对象序列化并反序列化后,遇到了问题。反序列化后在队列里的数据全没了,这让我很伤心。 <?php $pq = new SplPriorityQueue; $pq->insert('imi 基于 Swoole 常驻内存协程开发框架', 100); $pq->insert('https://gitee.com/yurunsoft/IMI', 200); $pq->insert('https://github.com/Yurunsoft/IMI', 300); var_dump($pq->count()); $serialize = serialize($pq); var_dump($serialize); $unserialize = unserialize($serialize); var_dump($unserialize->count()); 结果: int(3) string(28) "O:16:"SplPriorityQueue":0:{}" int(0) 莫得办法,自己动手丰衣足食吧!通过自定义类继承 SplPriorityQueue 并实现 Serializable 接口,来自己处理序列化和反序列化数据。 解决问题的代码如下: class PriorityQueue extends \SplPriorityQueue