Trong quá trình phát triển website, đặc biệt là các hệ thống bán hàng, mạng xã hội, thống kê lượt xem, lượt tương tác, việc hiển thị số theo dạng 1k, 1m, 1b giúp giao diện gọn gàng, hiện đại và dễ nhìn hơn rất nhiều.
Bài viết này sẽ hướng dẫn bạn cách format numbers trong PHP từ 1,000 thành 1k và 1,000,000 thành 1m một cách dễ hiểu, tối ưu và chuẩn SEO.
1. Khi nào cần format số trong PHP?

Bạn nên sử dụng kiểu format này khi:
- Hiển thị lượt xem (views)
- Hiển thị lượt like, comment
- Hiển thị doanh thu, số users
- Dashboard quản trị, báo cáo thống kê
- Website tin tức, TMĐT, mạng xã hội
Ví dụ:
| Số gốc | Hiển thị |
|---|---|
| 950 | 950 |
| 1200 | 1.2k |
| 15000 | 15k |
| 1000000 | 1m |
| 12500000 | 12.5m |
2. Hàm Format Numbers PHP từ 1,000 thành 1k – 1 triệu thành 1m
Dưới đây là hàm PHP đơn giản, dễ dùng nhất:
1 2 3 4 5 6 7 8 9 10 | function formatNumber($number) { if ($number >= 1000000000) { return round($number / 1000000000, 1) . 'b'; } elseif ($number >= 1000000) { return round($number / 1000000, 1) . 'm'; } elseif ($number >= 1000) { return round($number / 1000, 1) . 'k'; } return $number; } |
3. Ví dụ sử dụng thực tế
1 2 3 4 5 | echo formatNumber(950); // 950 echo formatNumber(1200); // 1.2k echo formatNumber(15000); // 15k echo formatNumber(1000000); // 1m echo formatNumber(12500000); // 12.5m |
Kết quả hiển thị:
1 2 3 4 5 | 950 1.2k 15k 1m 12.5m |
4. Format số không có số lẻ (1k, 2m, 10m)
Nếu bạn không muốn hiển thị số lẻ, sử dụng floor() thay vì round():
1 2 3 4 5 6 7 8 9 10 | function formatNumberNoDecimal($number) { if ($number >= 1000000000) { return floor($number / 1000000000) . 'b'; } elseif ($number >= 1000000) { return floor($number / 1000000) . 'm'; } elseif ($number >= 1000) { return floor($number / 1000) . 'k'; } return $number; } |
Ví dụ:
1 2 | echo formatNumberNoDecimal(1299); // 1k echo formatNumberNoDecimal(1999999); // 1m |
5. Xử lý số âm và số 0
Để tránh lỗi khi có số âm hoặc bằng 0:
1 2 3 4 5 6 7 8 9 10 | function formatNumberSafe($number) { if ($number <= 0) return 0; if ($number >= 1000000000) { return round($number / 1000000000, 1) . 'b'; } elseif ($number >= 1000000) { return round($number / 1000000, 1) . 'm'; } elseif ($number >= 1000) { return round($number / 1000, 1) . 'k'; } return $number; } |
6. Ứng dụng trong thực tế Website
- Hiển thị lượt xem bài viết
- Hiển thị số sản phẩm đã bán
- Hiển thị follow, like, share
- Dùng cho dashboard admin
- Tối ưu giao diện mobile
Kết luận

Việc format numbers trong PHP từ 1,000 thành 1k và 1,000,000 thành 1m giúp:
- Giao diện gọn gàng, chuyên nghiệp
- Trải nghiệm người dùng tốt hơn
- Tối ưu hiển thị trên mobile
- Phù hợp với các website lớn
Bạn có thể sao chép trực tiếp các đoạn code trong bài để sử dụng ngay cho dự án của mình.
Xem thêm: Thay đổi tên cho Brands ở Breadcrumb trong WooCommerce
