3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum Toto: string implements JsonSerializable { case Foo = 'Yo'; case Yo = 'Foo'; public function jsonSerialize(): string { return "gotcha"; } } enum Tata: string { case Foo = 'Yo'; case Yo = 'Foo'; public function jsonSerialize(): string { return "gotcha"; } } $params = ['a' => Toto::Foo, 'aa' => Tata::Foo]; echo json_encode($params), PHP_EOL; echo http_build_query($params), PHP_EOL;
Output for 8.4.1 - 8.4.17, 8.5.0 - 8.5.2
{"a":"gotcha","aa":"Yo"} a=Yo&aa=Yo
Output for 8.1.34, 8.2.30, 8.3.0 - 8.3.29
{"a":"gotcha","aa":"Yo"} a%5Bname%5D=Foo&a%5Bvalue%5D=Yo&aa%5Bname%5D=Foo&aa%5Bvalue%5D=Yo
Output for 5.6.26
Parse error: syntax error, unexpected 'Toto' (T_STRING) in /in/hXsGV on line 3
Process exited with code 255.

preferences:
72.65 ms | 408 KiB | 5 Q