3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $bar = 'baz'; public function __construct() { unset($this->bar); } public function getFooBar() { return $this->bar; } } class Bar extends Foo { private $bar = 'baz'; public function __construct() { parent::__construct(); unset($this->bar); } public function getBarBar() { return $this->bar; } } $bar = new Bar(); var_dump($bar->getFooBar()); // notice + null var_dump($bar->getBarBar()); // notice + null $rBarBar = new ReflectionProperty(Foo::class, 'bar'); $rBarBar->setAccessible(true); $rBarBar->setValue($bar, __LINE__); var_dump($bar->getFooBar()); // line no. var_dump($bar->getBarBar()); // notice + null
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
Warning: Undefined property: Bar::$bar in /in/pCmTV on line 14 NULL Warning: Undefined property: Bar::$bar in /in/pCmTV on line 31 NULL int(42) Warning: Undefined property: Bar::$bar in /in/pCmTV on line 31 NULL
Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.6 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
Notice: Undefined property: Bar::$bar in /in/pCmTV on line 14 NULL Notice: Undefined property: Bar::$bar in /in/pCmTV on line 31 NULL int(42) Notice: Undefined property: Bar::$bar in /in/pCmTV on line 31 NULL
Output for 7.3.32 - 7.3.33
NULL NULL int(42) NULL

preferences:
154.37 ms | 408 KiB | 5 Q