### Description The following code: ```php <?php $di = new \DateInterval('P0Y'); $field = 'd'; $i = 1; $di->$field += $i; var_dump($di); ``` Resulted in this output: ``` Process finished with exit code 139 (interrupted by signal 11:SIGSEGV) ``` But I expected this output instead: ``` object(DateInterval)#1 (10) { ["y"]=> int(0) ["m"]=> int(0) ["d"]=> int(1) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["invert"]=> int(0) ["days"]=> bool(false) ["from_string"]=> bool(false) } ``` 3v4l Link: https://3v4l.org/plDlt#v8.3.20 8.3.19 doesn't exhibit this issue, and nor does 8.4.6 and 8.2.28. Swapping the variable variable for a switch doesn't trigger the same issue. ### PHP Version PHP 8.3.20 (cli) (built: Apr 10 2025 21:33:50) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.20, Copyright (c) Zend Technologies with Zend OPcache v8.3.20, Copyright (c), by Zend Technologies with Xdebug v3.4.2, Copyright (c) 2002-2025, by Derick Rethans ### Operating System Ubuntu 24.04.2