3v4l.org

run code in 300+ PHP versions simultaneously
<?php #[ParamType("p", <<<'EOT' array{a: int, b:string, "complex value": "a"|"b"} EOT)] function f($p) {} // vs /** @param array{a: int, b:string, "complex value": "a"|"b"} $p */ function ff($p) {}
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12

preferences:
65.06 ms | 406 KiB | 5 Q