fixedarray_001.phpt 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. --TEST--
  2. SPL: FixedArray: std operations
  3. --FILE--
  4. <?php
  5. $a = new SplFixedArray(0);
  6. // errors
  7. try {
  8. $a[0] = "value1";
  9. } catch (RuntimeException $e) {
  10. echo "Exception: ".$e->getMessage()."\n";
  11. }
  12. try {
  13. var_dump($a["asdf"]);
  14. } catch (RuntimeException $e) {
  15. echo "Exception: ".$e->getMessage()."\n";
  16. }
  17. try {
  18. unset($a[-1]);
  19. } catch (RuntimeException $e) {
  20. echo "Exception: ".$e->getMessage()."\n";
  21. }
  22. $a->setSize(10);
  23. $a[0] = "value0";
  24. $a[1] = "value1";
  25. $a[2] = "value2";
  26. $a[3] = "value3";
  27. $ref = "value4";
  28. $ref2 =&$ref;
  29. $a[4] = $ref;
  30. $ref = "value5";
  31. unset($a[1]);
  32. var_dump($a[0], $a[2], $a[3], $a[4]);
  33. // countable
  34. var_dump(count($a), $a->getSize(), count($a) == $a->getSize());
  35. // clonable
  36. $b = clone $a;
  37. $a[0] = "valueNew";
  38. var_dump($b[0]);
  39. ?>
  40. ===DONE===
  41. --EXPECTF--
  42. Exception: Index invalid or out of range
  43. Exception: Index invalid or out of range
  44. Exception: Index invalid or out of range
  45. string(6) "value0"
  46. string(6) "value2"
  47. string(6) "value3"
  48. string(6) "value4"
  49. int(10)
  50. int(10)
  51. bool(true)
  52. string(6) "value0"
  53. ===DONE===