Logo
Add (th, st, nd, rd, th) to the end of a number
Online Now: 1

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
This simple and easy function will take a number and add "th, st, nd, rd, th" after it. Example 10 to 10th.
<?php
function ordinal($cdnl){
    
$test_c abs($cdnl) % 10;
    
$ext = ((abs($cdnl) %100 21 && abs($cdnl) %100 4) ? 'th'
            
: (($test_c 4) ? ($test_c 3) ? ($test_c 2) ? ($test_c 1)
            ? 
'th' 'st' 'nd' 'rd' 'th'));
    return 
$cdnl.$ext;

for(
$i=1;$i<100;$i++){
    echo 
ordinal($i).'<br>';
}
?>
 
Snippet Comments

Add Your Comment

Dan
2010-04-23 00:00:00
Here is mine, it doesn't give 11st, 12nd and 13rd like most do. [code] function make_ranked( $rank ) { $last = substr( $rank, -1 ); $seclast = substr( $rank, -2, -1 ); if( $last > 3 || $last == 0 ) $ext = 'th'; else if( $last == 3 ) $ext = 'rd'; else if( $last == 2 ) $ext = 'nd'; else $ext = 'st'; if( $last == 1 && $seclast == 1) $ext = 'th'; # Avoid 11st if( $last == 2 && $seclast == 1) $ext = 'th'; # Avoid 12nd if( $last == 3 && $seclast == 1) $ext = 'th'; # Avoid 13rd return $rank . $ext; }[/code] Not sure if these comments have code formating so may be a little messy, but works :)
mkei85
2009-11-30 00:00:00
Simple one: function ordinal($num) { $last=substr($num,-1); if($last>3 or $last==0) $ext='th'; else if($last==3) $ext='rd'; else if($last==2) $ext='nd'; else $ext='st'; return $num.$ext; }

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Rate the difficulty level:

Request Snippet Update


Suggested Difficulty Level: Professional
Current Score: 3.28
Total votes: 392
Total Views: 10342

Other top snippets by admin:

1. JPG to ASCII Converter
2. Dynamic Page Content From Links
3. AJAX Quickie
4. Simple Image CAPTCHA
5. Logout Inactive User

Search

Input key terms:
User Panel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.85 of 86)

2.  Test Please Delete (2.9 of 29)

3.  Return all repeated (3.68 of 71)

4.  Convert an integer (3.33 of 70)

5.  URL Shortening for (2.78 of 51)

6.  Monthly Content Sorting (3.05 of 44)

7.  Show String Trimmed (3 of 64)

8.  Human readable file (2.03 of 69)

9.  Randomize array values (2.83 of 81)

10.  Create a recursive (3.39 of 54)

New Snippets

1.  Parse RFC822 date (0 of 0)

2.  Dynamic Image Uploading (5 of 1)

3.  Spam Filter (0 of 0)

4.  Is Multiple (0 of 0)

5.  Base64 Encode / (0 of 0)

6.  URL Encode / (0 of 0)

7.  temp openbills (0 of 0)

8.  Php Iban Validator (0 of 0)

9.  Mysql Table Builder (0 of 0)

10.  File size of (1.75 of 4)

11.  Mail from your (1 of 1)

12.  OddEven Class (0 of 0)

13.  Detect if a (1 of 1)

14.  MB CopyMCF-DIR :: (5 of 1)

15.  Upper/Lower Case Accented (0 of 0)

16.  Zodiac Signs (3 of 1)

17.  Really useful code (2.5 of 2)

18.  Calculate Central European (0 of 0)

19.  Email Attachment (4 of 1)

20.  ImageMagick Image Upload (0 of 0)

21.  convert plain html (2 of 2)

22.  Tag Builder (3.25 of 4)

23.  Get Inserted ID (4.33 of 3)

24.  Watermark An Image (3.33 of 3)

25.  Check Prime Numbers (1.5 of 8)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010