Content · Web Development · PHP

PHP SplPriorityQueue::key() Method: Usage and Examples

Returns the numeric iterator index of the current priority queue item. This is not the priority value; use EXTR_PRIORITY to retrieve priorities.

1 views Published Oct 17, 2026 Updated Oct 17, 2026 admin

Returns the numeric iterator index of the current priority queue item.

The examples focus on the operation itself, including the important distinction: current returns data or priority according to the chosen extraction mode.

What It Does


Use the examples below to observe the behavior on a small dataset before extending it to application code.

Syntax and Return Value


SplPriorityQueue::key()

The displayed signature describes the API or identifies any correction or optional dependency. When a parameter is optional, supply it only when the task requires it.

Example 1: Basic Use


The queue is a max-priority queue; equal priorities have no guaranteed FIFO order. The key call is shown on a small, inspectable dataset.

<?php
$heap = new SplPriorityQueue();
$heap->insert('task-4', 4);
$heap->insert('task-12', 12);
$heap->insert('task-7', 7);
$heap->rewind();
echo $heap->key();

Output from a successful local PHP 8.4 run:

2

Example 2: Checking Behavior


The queue is a max-priority queue; equal priorities have no guaranteed FIFO order. The key call is shown on a small, inspectable dataset.

<?php
$heap = new SplPriorityQueue();
$heap->insert('task-2', 2);
$heap->insert('task-9', 9);
$heap->insert('task-5', 5);
$heap->insert('task-1', 1);
$heap->rewind();
echo $heap->key();

Output from a successful local PHP 8.4 run:

3

Example 3: Practical Example


The queue is a max-priority queue; equal priorities have no guaranteed FIFO order. The key call is shown on a small, inspectable dataset.

<?php
$heap = new SplPriorityQueue();
$heap->insert('task-19', 19);
$heap->insert('task-3', 3);
$heap->insert('task-11', 11);
$heap->rewind();
echo $heap->key();

Output from a successful local PHP 8.4 run:

2

Important Behavior and Edge Cases


This is not the priority value; use EXTR_PRIORITY to retrieve priorities.

Comparison with Related Approaches


ApproachDifference
SplPriorityQueue::keyReturns the numeric iterator index of the current priority queue item.
Related API or alternativecurrent returns data or priority according to the chosen extraction mode.

Common Beginner Mistakes


MistakeCorrect approach
Ignoring the operation-specific limitsThis is not the priority value; use EXTR_PRIORITY to retrieve priorities.
Confusing it with a related APIcurrent returns data or priority according to the chosen extraction mode.

Key Takeaways


  • Returns the numeric iterator index of the current priority queue item.
  • This is not the priority value; use EXTR_PRIORITY to retrieve priorities.
  • current returns data or priority according to the chosen extraction mode.

Use SplPriorityQueue::key when its documented behavior matches the problem. Test the relevant edge cases in your own runtime before deploying it.

Share this resourceSend this page to someone who may find it useful.