this_in_isset.phpt 657 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. $this in isset
  3. --FILE--
  4. <?php
  5. var_dump(isset($this));
  6. try {
  7. var_dump(isset($this->foo));
  8. } catch (Throwable $e) {
  9. echo "exception\n";
  10. }
  11. try {
  12. var_dump(isset($this->foo->bar));
  13. } catch (Throwable $e) {
  14. echo "exception\n";
  15. }
  16. try {
  17. var_dump(isset($this[0]));
  18. } catch (Throwable $e) {
  19. echo "exception\n";
  20. }
  21. class A extends ArrayObject {
  22. public $foo = 5;
  23. function foo() {
  24. $this[0] = 5;
  25. var_dump(isset($this));
  26. var_dump(isset($this->foo));
  27. var_dump(isset($this[0]));
  28. }
  29. }
  30. $a = new A();
  31. $a->foo();
  32. ?>
  33. --EXPECT--
  34. bool(false)
  35. exception
  36. exception
  37. exception
  38. bool(true)
  39. bool(true)
  40. bool(true)