3v4l.org

run code in 300+ PHP versions simultaneously
<?php $iterations = 100000; class A {protected $a; protected $b; protected $c;} class AHydrator extends A { public function hydrate(A $a, array $data) { $a->a = $data['a']; $a->b = $data['b']; $a->c = $data['c']; } } $data = array('a' => 1, 'b' => 2, 'c' => 3); $a = new A(); $h = new AHydrator(); var_dump($a); $h->hydrate($a, $data); var_dump($a);
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
object(A)#1 (3) { ["a":protected]=> NULL ["b":protected]=> NULL ["c":protected]=> NULL } object(A)#1 (3) { ["a":protected]=> int(1) ["b":protected]=> int(2) ["c":protected]=> int(3) }

preferences:
160.98 ms | 403 KiB | 182 Q