123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- --TEST--
- Test strict comparison with match expression jump table
- --FILE--
- <?php
- function wrong() {
- throw new Exception();
- }
- function test_int($char) {
- return match ($char) {
- 0 => wrong(),
- 1 => wrong(),
- 2 => wrong(),
- 3 => wrong(),
- 4 => wrong(),
- 5 => wrong(),
- 6 => wrong(),
- 7 => wrong(),
- 8 => wrong(),
- 9 => wrong(),
- default => 'Not matched',
- };
- }
- foreach (range(0, 9) as $int) {
- var_dump((string) $int);
- var_dump(test_int((string) $int));
- }
- function test_string($int) {
- return match ($int) {
- '0' => wrong(),
- '1' => wrong(),
- '2' => wrong(),
- '3' => wrong(),
- '4' => wrong(),
- '5' => wrong(),
- '6' => wrong(),
- '7' => wrong(),
- '8' => wrong(),
- '9' => wrong(),
- default => 'Not matched',
- };
- }
- foreach (range(0, 9) as $int) {
- var_dump($int);
- var_dump(test_string($int));
- }
- ?>
- --EXPECT--
- string(1) "0"
- string(11) "Not matched"
- string(1) "1"
- string(11) "Not matched"
- string(1) "2"
- string(11) "Not matched"
- string(1) "3"
- string(11) "Not matched"
- string(1) "4"
- string(11) "Not matched"
- string(1) "5"
- string(11) "Not matched"
- string(1) "6"
- string(11) "Not matched"
- string(1) "7"
- string(11) "Not matched"
- string(1) "8"
- string(11) "Not matched"
- string(1) "9"
- string(11) "Not matched"
- int(0)
- string(11) "Not matched"
- int(1)
- string(11) "Not matched"
- int(2)
- string(11) "Not matched"
- int(3)
- string(11) "Not matched"
- int(4)
- string(11) "Not matched"
- int(5)
- string(11) "Not matched"
- int(6)
- string(11) "Not matched"
- int(7)
- string(11) "Not matched"
- int(8)
- string(11) "Not matched"
- int(9)
- string(11) "Not matched"
|