woolyg Posted April 17, 2008 Share Posted April 17, 2008 Hi all, If I print out for($i=1; $i<=30; $i++){ echo $i."<br />"; } Is there an easy way in PHP that I can format $i so that it puts 'st' , 'nd', 'rd', 'th' after it? eg: 1st 2nd 3rd 4th - All input appreciated. Woolyg Link to comment https://forums.phpfreaks.com/topic/101503-number-order/ Share on other sites More sharing options...
Barand Posted April 17, 2008 Share Posted April 17, 2008 if you only want 1 - 31 (days of month) use date() wirh 'jS' format <?php for($i=1; $i<=30; $i++){ echo date ('jS', mktime(0,0,0,1,$i)), '<br>'; } ?> Link to comment https://forums.phpfreaks.com/topic/101503-number-order/#findComment-519205 Share on other sites More sharing options...
woolyg Posted April 17, 2008 Author Share Posted April 17, 2008 Sorry, I picked 30 as an example - these numbers could go up to any number really. I found a nice little function from reading a bit further: function ordinalize($number) { if (in_array(($number % 100),range(11,13))){ return $number.'th'; }else{ switch (($number % 10)) { case 1:return $number.'st'; break; case 2: return $number.'nd'; break; case 3:return $number.'rd'; default:return $number.'th'; break; } } } Thanks for your help! - Woolyg Link to comment https://forums.phpfreaks.com/topic/101503-number-order/#findComment-519216 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.