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 Quote Link to comment 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>'; } ?> Quote Link to comment 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.