bug49263.phpt 998 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --TEST--
  2. SPL: SplObjectStorage serialization references
  3. --FILE--
  4. <?php
  5. $o1 = new stdClass;
  6. $o2 = new stdClass;
  7. $s = new splObjectStorage();
  8. $s->attach($o1, array('prev' => 2, 'next' => $o2));
  9. $s->attach($o2, array('prev' => $o1));
  10. $ss = serialize($s);
  11. unset($s,$o1,$o2);
  12. echo $ss."\n";
  13. var_dump(unserialize($ss));
  14. ?>
  15. --EXPECT--
  16. O:16:"SplObjectStorage":2:{i:0;a:4:{i:0;O:8:"stdClass":0:{}i:1;a:2:{s:4:"prev";i:2;s:4:"next";O:8:"stdClass":0:{}}i:2;r:6;i:3;a:1:{s:4:"prev";r:3;}}i:1;a:0:{}}
  17. object(SplObjectStorage)#2 (1) {
  18. ["storage":"SplObjectStorage":private]=>
  19. array(2) {
  20. [0]=>
  21. array(2) {
  22. ["obj"]=>
  23. object(stdClass)#1 (0) {
  24. }
  25. ["inf"]=>
  26. array(2) {
  27. ["prev"]=>
  28. int(2)
  29. ["next"]=>
  30. object(stdClass)#3 (0) {
  31. }
  32. }
  33. }
  34. [1]=>
  35. array(2) {
  36. ["obj"]=>
  37. object(stdClass)#3 (0) {
  38. }
  39. ["inf"]=>
  40. array(1) {
  41. ["prev"]=>
  42. object(stdClass)#1 (0) {
  43. }
  44. }
  45. }
  46. }
  47. }