3v4l.org

run code in 500+ PHP versions simultaneously
<?php $a = (object)[]; for ($x = 0; $x < 2; ++$x) { /*if (!property_exists($a, 'color')) { $a->color = (object)[]; }*/ $a->color->price = ($a->color->price ?? "2") . "5"; } var_export($a);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Fatal error: Uncaught Error: Attempt to assign property "price" on null in /in/mmLdJ:8 Stack trace: #0 {main} thrown in /in/mmLdJ on line 8
Process exited with code 255.
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Warning: Creating default object from empty value in /in/mmLdJ on line 8 (object) array( 'color' => (object) array( 'price' => '255', ), )
Output for 7.2.0 - 7.2.34
Warning: Creating default object from empty value in /in/mmLdJ on line 8 stdClass::__set_state(array( 'color' => stdClass::__set_state(array( 'price' => '255', )), ))

preferences:
110.94 ms | 1517 KiB | 4 Q