visibility_005.phpt 723 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. --TEST--
  2. ZE2 foreach and property visibility
  3. --FILE--
  4. <?php
  5. class base
  6. {
  7. public $a=1;
  8. protected $b=2;
  9. private $c=3;
  10. function f()
  11. {
  12. foreach($this as $k=>$v) {
  13. echo "$k=>$v\n";
  14. }
  15. }
  16. }
  17. class derived extends base
  18. {
  19. }
  20. $o = new base;
  21. $o->d = 4;
  22. echo "===base::function===\n";
  23. $o->f();
  24. echo "===base,foreach===\n";
  25. foreach($o as $k=>$v) {
  26. echo "$k=>$v\n";
  27. }
  28. $o = new derived;
  29. $o->d = 4;
  30. echo "===derived::function===\n";
  31. $o->f();
  32. echo "===derived,foreach===\n";
  33. foreach($o as $k=>$v) {
  34. echo "$k=>$v\n";
  35. }
  36. ?>
  37. --EXPECT--
  38. ===base::function===
  39. a=>1
  40. b=>2
  41. c=>3
  42. d=>4
  43. ===base,foreach===
  44. a=>1
  45. d=>4
  46. ===derived::function===
  47. a=>1
  48. b=>2
  49. c=>3
  50. d=>4
  51. ===derived,foreach===
  52. a=>1
  53. d=>4