3v4l.org

run code in 300+ PHP versions simultaneously
<?php function num2word(int $num, array $words): string { $num = ($n = abs($num) % 100) > 19 ? $n % 10 : $n; switch ($num) { case 1: $w = $words[0]; break; case 2: case 3: case 4: $w = $words[1]; break; default: $w = $words[2]; break; } return $w; } echo num2word(23, ['рубль', 'рубля', 'рублей']).PHP_EOL; echo num2word(151, ['рубль', 'рубля', 'рублей']).PHP_EOL; echo num2word(556, ['рубль', 'рубля', 'рублей']).PHP_EOL;
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
рубля рубль рублей

preferences:
136.27 ms | 407 KiB | 5 Q