3v4l.org

run code in 500+ PHP versions simultaneously
<?php class T { public $evaluated= 0; public $a= null; public function test() { $this->evaluated++; return $this; } } $t= new T(); $t->test()->a ??= "Test"; var_dump($t);
Output for 8.3.0 - 8.3.31, 8.4.1 - 8.4.22, 8.5.0 - 8.5.7
object(T)#1 (2) { ["evaluated"]=> int(1) ["a"]=> string(4) "Test" }

preferences:
57.57 ms | 728 KiB | 4 Q