PageRenderTime 39ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/hphp/test/zend/good/ext/spl/tests/pqueue_001.php

http://github.com/facebook/hiphop-php
PHP | 59 lines | 42 code | 16 blank | 1 comment | 0 complexity | b08fd414cf982829180d89b2080580b7 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
  1. <?hh <<__EntryPoint>> function main(): void {
  2. $pq = new SplPriorityQueue();
  3. // errors
  4. try {
  5. $pq->extract();
  6. } catch (RuntimeException $e) {
  7. echo "Exception: ".$e->getMessage()."\n";
  8. }
  9. $pq->insert("a", 1);
  10. $pq->insert("b", 2);
  11. $pq->insert("c", 0);
  12. foreach ($pq as $k=>$v) {
  13. echo "$k=>".print_r($v, true)."\n";
  14. }
  15. echo "EXTR_BOTH\n";
  16. $pq1 = new SplPriorityQueue();
  17. $pq1->setExtractFlags(SplPriorityQueue::EXTR_BOTH);
  18. $pq1->insert("a", 1);
  19. $pq1->insert("b", 2);
  20. $pq1->insert("c", 0);
  21. foreach ($pq1 as $k=>$v) {
  22. echo "$k=>".print_r($v, true)."\n";
  23. }
  24. echo "EXTR_DATA\n";
  25. $pq2 = new SplPriorityQueue();
  26. $pq2->setExtractFlags(SplPriorityQueue::EXTR_DATA);
  27. $pq2->insert("a", 1);
  28. $pq2->insert("b", 2);
  29. $pq2->insert("c", 0);
  30. foreach ($pq2 as $k=>$v) {
  31. echo "$k=>".print_r($v, true)."\n";
  32. }
  33. echo "EXTR_PRIORITY\n";
  34. $pq3 = new SplPriorityQueue();
  35. $pq3->setExtractFlags(SplPriorityQueue::EXTR_PRIORITY);
  36. $pq3->insert("a", 1);
  37. $pq3->insert("b", 2);
  38. $pq3->insert("c", 0);
  39. foreach ($pq3 as $k=>$v) {
  40. echo "$k=>".print_r($v, true)."\n";
  41. }
  42. echo "===DONE===\n";
  43. }