SplPriorityQueue::__construct
(PHP 5 >= 5.3.0)
SplPriorityQueue::__construct — Создает новую пустую очередь
Описание
SplPriorityQueue::__construct
( void
)
Создает новую пустую очередь.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие базовые расширения
- Стандартная библиотека PHP (SPL)
- Структуры данных
- Функция SplPriorityQueue::compare() - Сравнивает приоритеты для корректного помещения элементов в очередь
- Функция SplPriorityQueue::__construct() - Создает новую пустую очередь
- Функция SplPriorityQueue::count() - Производит подсчет элементов в очереди
- Функция SplPriorityQueue::current() - Возвращает текущий узел, на который указывает итератор
- Функция SplPriorityQueue::extract() - Извлекает узел из начала очереди и пересортирует ее
- Функция SplPriorityQueue::insert() - Добавляет элемент в очередь и пересортирует ее
- Функция SplPriorityQueue::isEmpty() - Проверяет, является ли очередь пустой
- Функция SplPriorityQueue::key() - Возвращает индекс текущего узла
- Функция SplPriorityQueue::next() - Переход к следующему узлу
- Функция SplPriorityQueue::recoverFromCorruption() - Восстанавливает корректное состояние очереди
- Функция SplPriorityQueue::rewind() - Переводит итератор на начало очереди
- Функция SplPriorityQueue::setExtractFlags() - Задает режим извлечения узлов
- Функция SplPriorityQueue::top() - Возвращает узел находящийся в начале очереди
- Функция SplPriorityQueue::valid() - Проверяет, есть ли в очереди еще элементы
Коментарии
I was trying to extend SplPriorityQueue like this:
<?php
class AdjustablePriorityQueue extends SplPriorityQueue {
protected $direction='desc';//queue is ordered highest to lowest priority, direction is changeable ONLY on __construct()
function __construct($direction='desc'){
parent::__construct(); //Fatal error: Cannot call constructor
$this->direction=($direction=='asc') ? 'asc': 'desc';
}
function compare($priority1,$priority2){
if($this->direction=='asc') return parent::compare($priority2, $priority1);
return parent::compare($priority1,$priority2);
}
}
?>
calling `parent::__construct()` gives a fatal error " Cannot call constructor". If I leave out that call, everything works fine. This suggests that SplPriorityQueue does not actually have a `__construct()` method.