Hướng dẫn php convert number to 1st, 2nd, 3rd - php chuyển đổi số thành 1, 2, 3

Tôi đã tạo ra một chức năng không dựa vào chức năng

printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
0 của PHP vì nó không cần thiết, nhưng cũng làm cho nó nhỏ gọn và ngắn như tôi nghĩ hiện tại là có thể.

Mã: (tổng cộng 121 byte): (121 bytes total)

function ordinal($i) { // PHP 5.2 and later
  return($i.(($j=abs($i)%100)>10&&$j<14?'th':(($j%=10)>0&&$j<4?['st', 'nd', 'rd'][$j-1]:'th')));
}

Mã nhỏ gọn hơn bên dưới.

Nó hoạt động như sau::

printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
printf("The %s item.\n",    ordinal(-23)); // The -23rd item.

Những thứ cần biết về chức năng này::

  • Nó liên quan đến các số nguyên âm giống như các số nguyên dương và giữ dấu hiệu.
  • Nó trở lại ngày 11, 12, 13, 811, 812, 813, v.v. cho các số -teen như mong đợi.
  • Nó không kiểm tra số thập phân, nhưng sẽ để chúng đúng vị trí (sử dụng
    printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
    printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
    printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
    printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
    
    1,
    printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
    printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
    printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
    printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
    
    2 hoặc
    printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
    printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
    printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
    printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
    
    3 khi bắt đầu tuyên bố trả lại cuối cùng).
  • Bạn cũng có thể thêm
    printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
    printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
    printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
    printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
    
    4 khi bắt đầu câu lệnh hoàn trả cuối cùng để có được số nguyên được phân tách bằng dấu phẩy (nếu bạn hiển thị hàng ngàn, hàng triệu, v.v.).
  • Bạn chỉ có thể xóa
    printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
    printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
    printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
    printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
    
    5 từ đầu câu lệnh trả về nếu bạn chỉ muốn trả lại hậu tố thứ tự mà không cần nhập.

Hàm này hoạt động bắt đầu Php 5.2 phát hành tháng 11 năm 2006 hoàn toàn do cú pháp ngắn. Nếu bạn có một phiên bản trước đây, thì vui lòng nâng cấp vì bạn đã hết hạn một thập kỷ! Không thành công, chỉ cần thay thế

printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
6 nội tuyến bằng một biến tạm thời có chứa
printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
7.

Chức năng tương tự (không trả lại đầu vào), nhưng một cái nhìn bùng nổ về chức năng ngắn của tôi để hiểu rõ hơn:

function ordinal($i) {
  $j = abs($i); // make negatives into positives
  $j = $j%100; // modulo 100; deal only with ones and tens; 0 through 99

  if($j>10 && $j<14) // if $j is over 10, but below 14 (so we deal with 11 to 13)
    return('th'); // always return 'th' for 11th, 13th, 62912th, etc.

  $j = $j%10; // modulo 10; deal only with ones; 0 through 9

  if($j==1) // 1st, 21st, 31st, 971st
    return('st');

  if($j==2) // 2nd, 22nd, 32nd, 582nd
    return('nd'); // 

  if($j==3) // 3rd, 23rd, 33rd, 253rd
    return('rd');

  return('th'); // everything else will suffixed with 'th' including 0th
}

Cập nhật mã::

Đây là phiên bản sửa đổi ngắn hơn 14 byte (tổng cộng 107 byte):

function ordinal($i) {
  return $i.(($j=abs($i)%100)>10&&$j<14?'th':@['th','st','nd','rd'][$j%10]?:'th');
}

Hoặc càng ngắn càng tốt là 25 byte ngắn hơn (tổng số byte 96 byte):

function o($i){return $i.(($j=abs($i)%100)>10&&$j<14?'th':@['th','st','nd','rd'][$j%10]?:'th');}

Với chức năng cuối cùng này, chỉ cần gọi

printf("The %s hour.\n",    ordinal(0));   // The 0th hour.
printf("The %s ossicle.\n", ordinal(1));   // The 1st ossicle.
printf("The %s cat.\n",     ordinal(12));  // The 12th cat.
printf("The %s item.\n",    ordinal(-23)); // The -23rd item.
8 và nó sẽ chính xác giống như các chức năng khác mà tôi đã liệt kê.

Cập nhật mã số 2::

Ben và tôi đã làm việc cùng nhau và cắt giảm 38 byte (tổng cộng 83 byte):

function o($i){return$i.@(($j=abs($i)%100)>10&&$j<14?th:[th,st,nd,rd][$j%10]?:th);}

Chúng tôi không nghĩ rằng nó có thể có được bất kỳ ngắn hơn thế này! Sẵn sàng để được chứng minh sai, tuy nhiên. :)

Hy vọng tất cả các bạn thích.

Hướng dẫn php convert number to 1st, 2nd, 3rd - php chuyển đổi số thành 1, 2, 3
Đây là hàm đơn giản để thêm hậu tố số tiếng Anh sau số bình thường. Chức năng lấy số làm tham số và trả về số với hậu tố, như: 1, 2, 3, 4, 5, 6,
1st, 2nd, 3rd, 4th, 5th, 6th…

Đây là bảng ví dụ của các số thứ tự 1 đến 100

1st	 2nd	 3rd	 4th	 5th	 6th	 7th	 8th	 9th	 10th	
11th	12th	13th	14th	15th	16th	17th	18th	19th	20th	
21st	22nd	23rd	24th	25th	26th	27th	28th	29th	30th	
31st	32nd	33rd	34th	35th	36th	37th	38th	39th	40th	
41st	42nd	43rd	44th	45th	46th	47th	48th	49th	50th	
51st	52nd	53rd	54th	55th	56th	57th	58th	59th	60th	
61st	62nd	63rd	64th	65th	66th	67th	68th	69th	70th	
71st	72nd	73rd	74th	75th	76th	77th	78th	79th	80th	
81st	82nd	83rd	84th	85th	86th	87th	88th	89th	90th	
91st	92nd	93rd	94th	95th	96th	97th	98th	99th	100th

Thêm chức năng Php hậu tố thứ tự



Thêm Hậu tố thứ tự sử dụng/kiểm tra chức năng PHP


for ($i = 1; $i <= 10000; $i++){
  echo addOrdinalNumberSuffix($i) . "\t";
  if ($i % 10 == 0) {
    echo "\n";
  }
}

Output:


1st	2nd	3rd	4th	5th	6th	7th	8th	9th	10th	
11th	12th	13th	14th	15th	16th	17th	18th	19th	20th	
21st	22nd	23rd	24th	25th	26th	27th	28th	29th	30th	
31st	32nd	33rd	34th	35th	36th	37th	38th	39th	40th	
41st	42nd	43rd	44th	45th	46th	47th	48th	49th	50th	
51st	52nd	53rd	54th	55th	56th	57th	58th	59th	60th	
61st	62nd	63rd	64th	65th	66th	67th	68th	69th	70th	
71st	72nd	73rd	74th	75th	76th	77th	78th	79th	80th	
81st	82nd	83rd	84th	85th	86th	87th	88th	89th	90th	
91st	92nd	93rd	94th	95th	96th	97th	98th	99th	100th	
101st	102nd	103rd	104th	105th	106th	107th	108th	109th	110th
...
9961st	9962nd	9963rd	9964th	9965th	9966th	9967th	9968th	9969th	9970th	
9971st	9972nd	9973rd	9974th	9975th	9976th	9977th	9978th	9979th	9980th	
9981st	9982nd	9983rd	9984th	9985th	9986th	9987th	9988th	9989th	9990th	
9991st	9992nd	9993rd	9994th	9995th	9996th	9997th	9998th	9999th	10000th