我想知道SplPriorityQueue
当优先级为string
or时如何工作int
。快速示例:
$queue = new \SplPriorityQueue();
$queue->insert('b', 5);
$queue->insert('c', 5);
$queue->insert('d', 1);
$queue->insert('a', 10);
$queue->insert('1', 'a');
$queue->insert('2', 'b');
print_r($queue);
输出:
Array
(
[5] => a
[4] => b
[3] => c
[2] => d
[1] => 2
[0] => 1
)
问题:为什么int
优先列出优先项(即abcd)?当优先级为string
(项目 1 2)时,被b
认为大于a
?