Làm cách nào để định dạng một chuỗi trong PHP?
Cho đến bây giờ, chúng tôi chỉ cần in bất kỳ chuỗi nào mà chúng tôi muốn hiển thị trực tiếp trên trình duyệt. PHP cung cấp hai hàm cho phép bạn áp dụng định dạng trước tiên, cho dù làm tròn gấp đôi đến một số vị trí thập phân nhất định, xác định căn chỉnh trong một trường hoặc hiển thị dữ liệu theo các hệ thống số khác nhau. Trong phần này, bạn sẽ xem xét một vài tùy chọn định dạng được cung cấp bởi printf() và sprintf() Show Làm việc với printf()Nếu bạn có bất kỳ kinh nghiệm nào với C, bạn sẽ quen thuộc với hàm printf(). Phiên bản PHP tương tự nhưng không giống nhau. printf() yêu cầu một đối số chuỗi, được gọi là chuỗi kiểm soát định dạng. Nó cũng chấp nhận các đối số bổ sung thuộc các loại khác nhau. Chuỗi kiểm soát định dạng chứa các hướng dẫn cho biết cách hiển thị các đối số bổ sung này. Ví dụ, đoạn mã sau sử dụng printf() để xuất một số nguyên dưới dạng số thập phân printf("This is my number: %d", 55); // prints "This is my number: 55" Trong chuỗi kiểm soát định dạng (đối số đầu tiên), chúng tôi đã bao gồm một mã đặc biệt, được gọi là đặc tả chuyển đổi Đặc tả chuyển đổi bắt đầu bằng ký hiệu phần trăm (%) và xác định cách xử lý đối số tương ứng với printf(). Bạn có thể bao gồm bao nhiêu thông số kỹ thuật chuyển đổi tùy thích trong chuỗi kiểm soát định dạng, miễn là bạn gửi một số lượng đối số tương đương tới printf() Đoạn mã sau xuất ra hai số bằng printf() printf("First number: %d Thông số chuyển đổi đầu tiên tương ứng với đối số đầu tiên trong số các đối số bổ sung cho printf(), là 55. Thông số kỹ thuật chuyển đổi thứ hai tương ứng với 66. Chữ d sau ký hiệu phần trăm yêu cầu dữ liệu được coi là số nguyên thập phân. Phần này của đặc tả chuyển đổi là một công cụ xác định loại printf() và Type SpecifiersBạn đã bắt gặp một bộ xác định kiểu, d, hiển thị dữ liệu ở định dạng thập phân. Bảng 13. 1 liệt kê các chỉ định loại có sẵn khác Bảng 13. 1. Loại Specifiersd Hiển thị đối số dưới dạng số thập phân b Hiển thị một số nguyên dưới dạng số nhị phân c Hiển thị một số nguyên dưới dạng tương đương ASCII f Hiển thị một số nguyên dưới dạng số dấu phẩy động (kép) o Hiển thị một số nguyên dưới dạng số bát phân (cơ số 8) s Hiển thị đối số dưới dạng chuỗi x Hiển thị một số nguyên dưới dạng số thập lục phân chữ thường (cơ số 16) X Hiển thị một số nguyên dưới dạng số thập lục phân viết hoa (cơ số 16) Liệt kê 13. 1 sử dụng printf() để hiển thị một số duy nhất theo một số chỉ định loại được liệt kê trong Bảng 13. 1 Liệt kê 13. 1 Minh họa một số Type Specifiers1: 2: 3: Listing 13.1 Demonstrating some type specifiers 4: 5: 6: ", $number ); 9: printf( "Binary: %b Đặt những dòng này vào một tệp văn bản có tên là danh sách 13. 1. php và đặt tệp này vào gốc tài liệu máy chủ Web của bạn. Khi bạn truy cập tập lệnh này thông qua trình duyệt Web của mình, nó sẽ giống như Hình 13. 1. Như bạn có thể thấy, printf() là một cách nhanh chóng để chuyển đổi dữ liệu từ hệ thống số này sang hệ thống số khác và xuất kết quả Hình 13. 1. Thể hiện thông số chuyển đổiKhi bạn chỉ định một màu trong HTML, bạn kết hợp ba số thập lục phân từ 00 đến FF, biểu thị các giá trị cho màu đỏ, xanh lá cây và xanh dương. Bạn có thể sử dụng printf() để chuyển đổi ba số thập phân từ 0 đến 255 thành số thập lục phân tương đương của chúng $red = 204; $green = 204; $blue = 204; printf( "#%X%X%X", $red, $green, $blue ); // prints "#CCCCCC" Mặc dù bạn có thể sử dụng trình xác định loại để chuyển đổi từ số thập phân sang số thập lục phân, nhưng bạn không thể sử dụng nó để xác định số lượng ký tự đầu ra cho mỗi đối số sẽ chiếm. Trong mã màu HTML, mỗi số thập lục phân phải được đệm thành hai ký tự, điều này sẽ trở thành vấn đề nếu chúng ta thay đổi các biến $red, $green và $blue trong đoạn mã trước thành chứa 1 chẳng hạn. Chúng tôi sẽ kết thúc với đầu ra "#111". Bạn có thể buộc đầu ra của các số 0 đứng đầu bằng cách sử dụng bộ xác định phần đệm Đầu ra đệm với Bộ xác định đệmBạn có thể yêu cầu đầu ra đó được đệm bằng các ký tự đầu. Trình xác định phần đệm phải trực tiếp theo dấu phần trăm bắt đầu một đặc tả chuyển đổi. Để đệm đầu ra có số 0 đứng đầu, bộ xác định đệm phải bao gồm số 0 theo sau là số ký tự bạn muốn đầu ra chiếm. Nếu đầu ra chiếm ít ký tự hơn tổng số này, sự khác biệt sẽ được lấp đầy bằng số không printf( "%04d", 36 ); // prints "0036" Để đệm đầu ra có khoảng trắng ở đầu, bộ xác định đệm phải bao gồm một ký tự khoảng trắng theo sau là số lượng ký tự mà đầu ra sẽ chiếm printf( "% 4d", 36 ) // prints " 36" Trình duyệt sẽ không hiển thị nhiều khoảng trắng trong tài liệu HTML. Bạn có thể buộc hiển thị khoảng trắng và dòng mới bằng cách đặt tags around your output as follows: |