public function compare($a, $b) { if ($b == 2) { throw new Exception('ignore me'); } else { return parent::compare($a, $b); } }
/** * Overrides native default comparison logic to assign higher priority to * events inserted earlier. * * @param \Phergie\Irc\Bot\React\EventQueuePriority $priority1 * @param \Phergie\Irc\Bot\React\EventQueuePriority $priority2 * @return int */ public function compare($priority1, $priority2) { if (!$priority1 instanceof EventQueuePriority || !$priority2 instanceof EventQueuePriority) { return parent::compare($priority1, $priority2); } $priority = $priority1->value - $priority2->value; if (!$priority) { $priority = $priority2->timestamp - $priority1->timestamp; } return $priority; }
<?php $h = new SplPriorityQueue(); var_dump($h->compare(4, 5) < 0); var_dump($h->compare(5, 5) == 0); var_dump($h->compare(5, 4) > 0); ?> ===DONE===
<?php $h = new SplPriorityQueue(); $h->compare(); $h->compare(1); $h->compare(1, 2, 3);