summaryrefslogtreecommitdiffstats
path: root/system/helpers/inflector_helper.php
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2016-10-21 17:04:12 +0200
committerGitHub <noreply@github.com>2016-10-21 17:04:12 +0200
commit4de4f4c88ea49db3867882f21b727e953ca1a590 (patch)
tree3c1bf5eab322ca05088be8cbed2e5aa3d9362352 /system/helpers/inflector_helper.php
parent5d05372f4f59d27fdd93249d813970fcf181a4af (diff)
parent25dc0937dd27c6d3c9f4d4483a857c218d6a9dad (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.php39
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];
+ }
+}