note 27374 added to function.date
| From: | phpnet at langdonx dot com | Date: | Tue, 03 Dec 2002 19:43:59 +0000 |
| Subject: | note 27374 added to function.date | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-40309@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;
}
}
--
http://www.php.net/manual/en/function.date.php
http://master.php.net/manage/user-notes.php?action=edit+27374
http://master.php.net/manage/user-notes.php?action=delete+27374
http://master.php.net/manage/user-notes.php?action=reject+27374