PHP: incremente a função do contador usando palavras (ou seja, primeiro, segundo, terceiro, etc

Estou tentando encontrar uma função que incrementa um contador usando palavras. Eu sei que é possível usar números com sufixos (ou seja, 1º, 2º, 3º e assim por diante). Aqui está um trecho do código que eu tenho:

function addOrdinalNumberSuffix($num) {
    if (!in_array(($num % 100),array(11,12,13))){
        switch ($num % 10) {
            // Handle 1st, 2nd, 3rd
            case 1:  return $num.'st';
            case 2:  return $num.'nd';
            case 3:  return $num.'rd';
        }
    }
    return $num.'th';
}

Code Source

Mas existe uma maneira de replicar isso com palavras (ou seja, primeiro, segundo, terceiro etc.

Eu esperava que fosse bastante difícil (mas não impossível) criar um contador infinito, mas qualquer coisa até 20 seria suficient

Qualquer ajuda seria muito apreciad

questionAnswers(6)

yourAnswerToTheQuestion