函式名稱: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())
。