函数名称:SplPriorityQueue::getExtractFlags()
函数描述:获取当前队列的提取标志
适用版本:PHP 5 >= 5.3.0, PHP 7
用法: SplPriorityQueue::getExtractFlags(): int
返回值: 返回一个整数,代表当前队列的提取标志。提取标志可以是以下常量之一:
- SplPriorityQueue::EXTR_DATA:提取元素的值
- SplPriorityQueue::EXTR_PRIORITY:提取元素的优先级
- SplPriorityQueue::EXTR_BOTH:提取元素的值和优先级(默认值)
示例:
// 创建一个优先队列
$queue = new SplPriorityQueue();
// 设置提取标志为仅提取元素的值
$queue->setExtractFlags(SplPriorityQueue::EXTR_DATA);
// 添加元素到队列
$queue->insert("Apple", 2);
$queue->insert("Banana", 1);
$queue->insert("Orange", 3);
// 循环提取队列中的元素的值
while (!$queue->isEmpty()) {
echo $queue->extract() . "\n";
}
// 输出:
// Apple
// Banana
// Orange
在上面的示例中,我们首先创建了一个SplPriorityQueue对象,然后使用setExtractFlags()方法将提取标志设置为仅提取元素的值。接下来,我们插入了三个元素到队列中,每个元素都有一个优先级。最后,使用extract()方法循环提取队列中的元素的值,并将其打印出来。由于我们设置了提取标志为EXTR_DATA,所以只会提取元素的值,即输出了队列中所有元素的值。