函数名称:Ds\PriorityQueue::jsonSerialize()
函数描述:该方法用于序列化 Priority Queue 对象为 JSON 字符串。
用法:
public function jsonSerialize(): mixed
参数:无
返回值:返回一个可被序列化为 JSON 的变量
示例:
// 创建一个 Priority Queue 对象
$priorityQueue = new Ds\PriorityQueue();
// 添加元素到 Priority Queue
$priorityQueue->push(['name' => 'Alice', 'age' => 25], 2);
$priorityQueue->push(['name' => 'Bob', 'age' => 30], 1);
$priorityQueue->push(['name' => 'Charlie', 'age' => 20], 3);
// 序列化为 JSON 字符串
$jsonString = json_encode($priorityQueue->jsonSerialize());
echo $jsonString;
输出结果:
[{"name":"Bob","age":30},{"name":"Alice","age":25},{"name":"Charlie","age":20}]
注意:在调用 jsonSerialize() 方法之前,必须先将 Ds\PriorityQueue 对象显示地转换为数组,否则会抛出异常。例如:json_encode($priorityQueue->toArray())
。