这个问题与我前段时间问的这个问题有关。
基本上它是关于在某些临界情况下出队如何工作的。例如:
$queue = new SplPriorityQueue();
$queue->insert('foo', 0);
$queue->insert('bar', 0);
$queue->insert('baz', '0');
我期待完全相同的顺序foo
bar
baz
:
while ($queue->valid()) {
var_dump($queue->current());
$queue->next();
}
原来是foo
baz
bar
。你能解释一下为什么先去baz
吗? bar