Added number utility class and a method to add ordinal indicators to a number (and without the need of PHP 5.3 which has some new class for that)
This commit is contained in:
parent
6f80fb51df
commit
29c0dbad1f
2 changed files with 119 additions and 0 deletions
61
classes/Number.php
Normal file
61
classes/Number.php
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number Utility Collection
|
||||||
|
*
|
||||||
|
* PHP version 5
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistribution of these files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @author Josh Sherman <pickles@joshtronic.com>
|
||||||
|
* @copyright Copyright 2007-2012, Josh Sherman
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.html
|
||||||
|
* @package PICKLES
|
||||||
|
* @link https://github.com/joshtronic/pickles
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number Class
|
||||||
|
*
|
||||||
|
* Just a simple collection of static functions to accomplish some of the more
|
||||||
|
* redundant numeric related manipulation.
|
||||||
|
*/
|
||||||
|
class Number
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Ordinal Indiciator
|
||||||
|
*
|
||||||
|
* Formats a number by appending an ordinal indicator.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @link http://en.wikipedia.org/wiki/Ordinal_indicator
|
||||||
|
* @link http://en.wikipedia.org/wiki/English_numerals#Ordinal_numbers
|
||||||
|
* @param string $number number to format
|
||||||
|
* @param boolean $superscript include <sup> tags
|
||||||
|
* @return string formatted number
|
||||||
|
*/
|
||||||
|
public static function ordinalIndicator($number, $superscript = false)
|
||||||
|
{
|
||||||
|
$suffix = 'th';
|
||||||
|
|
||||||
|
if (!in_array(($number % 100), array(11, 12, 13)))
|
||||||
|
{
|
||||||
|
switch ($number % 10)
|
||||||
|
{
|
||||||
|
case 1: $suffix = 'st'; break;
|
||||||
|
case 2: $suffix = 'nd'; break;
|
||||||
|
case 3: $suffix = 'rd'; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($superscript)
|
||||||
|
{
|
||||||
|
$suffix = '<sup>' . $suffix . '</sup>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $number . $suffix;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
58
jar.php
58
jar.php
|
@ -5788,6 +5788,64 @@ class Module extends Object
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number Utility Collection
|
||||||
|
*
|
||||||
|
* PHP version 5
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistribution of these files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @author Josh Sherman <pickles@joshtronic.com>
|
||||||
|
* @copyright Copyright 2007-2012, Josh Sherman
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.html
|
||||||
|
* @package PICKLES
|
||||||
|
* @link https://github.com/joshtronic/pickles
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number Class
|
||||||
|
*
|
||||||
|
* Just a simple collection of static functions to accomplish some of the more
|
||||||
|
* redundant numeric related manipulation.
|
||||||
|
*/
|
||||||
|
class Number
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Ordinal Indiciator
|
||||||
|
*
|
||||||
|
* Formats a number by appending an ordinal indicator.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @link http://en.wikipedia.org/wiki/Ordinal_indicator
|
||||||
|
* @link http://en.wikipedia.org/wiki/English_numerals#Ordinal_numbers
|
||||||
|
* @param string $number number to format
|
||||||
|
* @param boolean $superscript include <sup> tags
|
||||||
|
* @return string formatted number
|
||||||
|
*/
|
||||||
|
public static function ordinalIndicator($number, $superscript = false)
|
||||||
|
{
|
||||||
|
$suffix = 'th';
|
||||||
|
|
||||||
|
if (!in_array(($number % 100), array(11, 12, 13)))
|
||||||
|
{
|
||||||
|
switch ($number % 10)
|
||||||
|
{
|
||||||
|
case 1: $suffix = 'st'; break;
|
||||||
|
case 2: $suffix = 'nd'; break;
|
||||||
|
case 3: $suffix = 'rd'; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($superscript)
|
||||||
|
{
|
||||||
|
$suffix = '<sup>' . $suffix . '</sup>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $number . $suffix;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object Class File for PICKLES
|
* Object Class File for PICKLES
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue