这个问题与我前段时间问的这个问题有关。
基本上它是关于在某些临界情况下出队如何工作的。例如:
$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