3v4l.org

run code in 300+ PHP versions simultaneously
<?php class DTO { public function __construct( public int $a, public int $b, public int $c, public int $d, public int $e, public int $f, ) {} } $dto = new DTO(1, 2, 3, 4, 5, 6); var_dump($dto); // #PHP 8.2+, with named parameters in arrays $copy = new DTO(...(['d' => 42] + get_object_vars($dto))); var_dump($copy); // #PHP 8.0–1+, with unnamed parameters in arrays $copy2 = new DTO(...array_values(array_merge(get_object_vars($dto), ['d' => 42]))); var_dump($copy2); // #PHP 7.4– : not supported

preferences:
57.73 ms | 906 KiB | 5 Q