3v4l.org

run code in 300+ PHP versions simultaneously
<?php $usPhone = '123-456-7800'; $digits = sscanf($usPhone, '%1s%1s%1s-%1s%1s%1s-%2s%2s'); $f = new NumberFormatter('en', NumberFormatter::SPELLOUT); echo implode( ' ', array_map( fn($d) => ($d !== (string)(int)$d ? 'oh ' : '') . (!(int)$d ? 'oh' : $f->format((int)$d)), $digits ) );
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
one two three four five six seventy-eight oh oh

preferences:
54.92 ms | 406 KiB | 5 Q