011.phpt 787 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. --TEST--
  2. Test isset and empty on nullsafe property
  3. --FILE--
  4. <?php
  5. class Foo {
  6. public $bar;
  7. }
  8. class Bar {
  9. public $baz;
  10. }
  11. $bar = new Bar();
  12. $bar->baz = 'baz';
  13. var_dump(isset($foo?->bar));
  14. var_dump(empty($foo?->bar));
  15. var_dump(isset($foo?->bar->baz));
  16. var_dump(empty($foo?->bar->baz));
  17. echo "\n";
  18. $foo = null;
  19. var_dump(isset($foo?->bar));
  20. var_dump(empty($foo?->bar));
  21. var_dump(isset($foo?->bar->baz));
  22. var_dump(empty($foo?->bar->baz));
  23. echo "\n";
  24. $foo = new Foo();
  25. var_dump(isset($foo?->bar->baz));
  26. var_dump(empty($foo?->bar->baz));
  27. $foo->bar = $bar;
  28. var_dump(isset($foo?->bar->baz));
  29. var_dump(empty($foo?->bar->baz));
  30. ?>
  31. --EXPECT--
  32. bool(false)
  33. bool(true)
  34. bool(false)
  35. bool(true)
  36. bool(false)
  37. bool(true)
  38. bool(false)
  39. bool(true)
  40. bool(false)
  41. bool(true)
  42. bool(true)
  43. bool(false)