diff options
author | Andrey Andreev <narf@devilix.net> | 2016-10-21 17:04:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-21 17:04:12 +0200 |
commit | 4de4f4c88ea49db3867882f21b727e953ca1a590 (patch) | |
tree | 3c1bf5eab322ca05088be8cbed2e5aa3d9362352 /system/helpers/inflector_helper.php | |
parent | 5d05372f4f59d27fdd93249d813970fcf181a4af (diff) | |
parent | 25dc0937dd27c6d3c9f4d4483a857c218d6a9dad (diff) |
Merge pull request #4862 from gxgpet/remote-develop
New function for Inflector helper: ordinal_format()
Diffstat (limited to 'system/helpers/inflector_helper.php')
-rw-r--r-- | system/helpers/inflector_helper.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/system/helpers/inflector_helper.php b/system/helpers/inflector_helper.php index 6dc3b5030..83bf28098 100644 --- a/system/helpers/inflector_helper.php +++ b/system/helpers/inflector_helper.php @@ -273,3 +273,42 @@ if ( ! function_exists('is_countable')) ); } } + +// ------------------------------------------------------------------------ + +if ( ! function_exists('ordinal_format')) +{ + /** + * Returns the English ordinal numeral for a given number + * + * @param int $number + * @return string + */ + function ordinal_format($number) + { + if ( ! ctype_digit((string) $number) OR $number < 1) + { + return $number; + } + + $last_digit = array( + 0 => 'th', + 1 => 'st', + 2 => 'nd', + 3 => 'rd', + 4 => 'th', + 5 => 'th', + 6 => 'th', + 7 => 'th', + 8 => 'th', + 9 => 'th' + ); + + if (($number % 100) >= 11 && ($number % 100) <= 13) + { + return $number.'th'; + } + + return $number.$last_digit[$number % 10]; + } +} |