note 27374 deleted from function.date by victor
| From: | victor@php.net | Date: | Sun, 08 Dec 2002 20:07:05 +0000 |
| Subject: | note 27374 deleted from function.date by victor | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-40541@lists.php.net to get a copy of this message | ||
I thought a nice and easy way to add place value to a number (1st, 2nd, 3rd, 4th) would be to use
the date function. I was wrong, it calculates some numbers incorrectly (most numbers after 31).
//function place_number($p_number)
//{
// return $p_number . date('S', mktime(0,0,0,1,$p_number,2000));
//}
So I wrote this instead, if it's useful to anyone:
function place_number($p_number)
{
if (strlen($p_number) > 1) $second_number = substr($p_number, strlen($p_number) - 2, 1);
switch (substr($p_number, strlen($p_number) - 1))
{
case 1: if ($second_number == 1) return $p_number . "th"; else return $p_number .
"st"; break;
case 2: if ($second_number == 1) return $p_number . "th"; else return $p_number .
"nd"; break;
case 3: if ($second_number == 1) return $p_number . "th"; else return $p_number .
"rd"; break;
case 0:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9: return $p_number . "th"; break;
}
}