arrayObject_count_basic1.phpt 977 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. --TEST--
  2. SPL: ArrayObject::count() and ArrayIterator::count() basic functionality.
  3. --FILE--
  4. ==ArrayObject==
  5. <?php
  6. class C extends ArrayObject {
  7. function count(): int {
  8. return 99;
  9. }
  10. }
  11. $c = new C;
  12. $ao = new ArrayObject;
  13. var_dump(count($c), count($ao));
  14. $c[] = 'a';
  15. $ao[] = 'a';
  16. var_dump(count($c), count($ao));
  17. $c[] = 'b';
  18. $ao[] = 'b';
  19. var_dump(count($c), count($ao));
  20. unset($c[0]);
  21. unset($ao[0]);
  22. var_dump($c->count(), $ao->count());
  23. ?>
  24. ==ArrayIterator==
  25. <?php
  26. class D extends ArrayIterator {
  27. function count(): int {
  28. return 99;
  29. }
  30. }
  31. $c = new D;
  32. $ao = new ArrayIterator;
  33. var_dump(count($c), count($ao));
  34. $c[] = 'a';
  35. $ao[] = 'a';
  36. var_dump(count($c), count($ao));
  37. $c[] = 'b';
  38. $ao[] = 'b';
  39. var_dump(count($c), count($ao));
  40. unset($c[0]);
  41. unset($ao[0]);
  42. var_dump($c->count(), $ao->count());
  43. ?>
  44. --EXPECT--
  45. ==ArrayObject==
  46. int(99)
  47. int(0)
  48. int(99)
  49. int(1)
  50. int(99)
  51. int(2)
  52. int(99)
  53. int(1)
  54. ==ArrayIterator==
  55. int(99)
  56. int(0)
  57. int(99)
  58. int(1)
  59. int(99)
  60. int(2)
  61. int(99)
  62. int(1)