SplHeap::compare

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::compareCompare deux éléments

Description

protected function SplHeap::compare(mixed $value1, mixed $value2): int

Compare la valeur value1 et la valeur value2.

Avertissement

L'envoi d'exception dans SplHeap::compare() peut le corrompre et le placer dans un statut bloqué. Il est possible de le débloquer en appelant la méthode SplHeap::recoverFromCorruption(). Cependant, des éléments peuvent ne pas avoir été placés correctement.

Liste de paramètres

value1

La valeur du premier nœud à comparer.

value2

La valeur du second nœud à comparer.

Valeurs de retour

Le résultat de la comparaison ; un entier positif si value1 est plus grand que value2, 0 s'ils sont égaux, ou un entier négatif sinon.

Note:

Avoir plusieurs éléments avec la même valeur dans un tas n'est pas recommandé. Cela peut conduire en une position arbitraire.

add a note

User Contributed Notes 1 note

up
0
ohcc at 163 dot com
42 minutes ago
This method is abstract, and in PHP 8.0+ its parameters are of type `mixed`, you can not change their types to types other than `mixed` when `extends`ing SplHeap.

The following example emits an error saying "Fatal error: Declaration of WuXianchengHeap::compare(string $one, string $two): int must be compatible with SplHeap::compare(mixed $value1, mixed $value2)".

<?php
    class WuXianchengHeap extends SplHeap{
        public function __construct(Iterator $iterator){
            foreach($iterator as $item){
                $this->insert($item);
            }
        }
        public function compare(string $one, string $two):int{
            return -1 * strNatCaseCmp($one, $two);
        }
    }
?>
To Top