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