3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum ProductCategories: string { case A = 'A'; case B = 'B'; case C = 'C'; case D = 'D'; } interface ProductCategoryProviderInterface { public function getLocalCategoryId(ProductCategories $category): ?string; } class A implements ProductCategoryProviderInterface { public function getLocalCategoryId(ProductCategories $category): ?string { return match ($category) { ProductCategories::A => '1', ProductCategories::B => '2', default => null, }; } } class B implements ProductCategoryProviderInterface { public function getLocalCategoryId(ProductCategories $category): ?string { return match ($category) { ProductCategories::A => 'cat_a', ProductCategories::B => 'cat_B', default => null, }; } } echo (new A())->getLocalCategoryId(ProductCategories::A) . "\n"; // 1 echo (new B())->getLocalCategoryId(ProductCategories::A) . "\n"; // cat_a echo (new A())->getLocalCategoryId(ProductCategories::B) . "\n"; // 2 echo (new B())->getLocalCategoryId(ProductCategories::B) . "\n"; // cat_b echo (new A())->getLocalCategoryId(ProductCategories::C) . "\n"; // null
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.4.16, 8.5.0 - 8.5.1
1 cat_a 2 cat_B
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
92.72 ms | 407 KiB | 5 Q