3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo implements Stringable { public function __toString(): string { return 'FOO'; } public function __get(mixed $key): mixed { var_dump(compact('key')); return 1; } } $foo = new Foo(); $foo->foo; $foo->$foo; $foo->{1}; $foo->{false}; $foo->{null};
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
array(1) { ["key"]=> string(3) "foo" } array(1) { ["key"]=> string(3) "FOO" } array(1) { ["key"]=> string(1) "1" } array(1) { ["key"]=> string(0) "" } array(1) { ["key"]=> string(0) "" }

preferences:
49.21 ms | 406 KiB | 5 Q