Hàm vfprintf
Hàm vfprintf ghi một chuỗi được định dạng theo các đặc tả vào một luồng tệp. Tham số đầu tiên nhận một tài nguyên tệp, tham số thứ hai - một chuỗi định dạng, tham số thứ ba - một mảng các đối số để thay thế. Trong chuỗi định dạng sử dụng các ký tự đặc biệt (các đặc tả định dạng), bắt đầu bằng dấu % và điều khiển việc định dạng đầu ra.
Cú pháp
vfprintf(resource $handle, string $format, array $args): int
Các đặc tả định dạng
| Đặc tả | Mô tả |
|---|---|
%s |
Chuỗi |
%d |
Số nguyên có dấu (thập phân) |
%u |
Số nguyên không dấu (thập phân) |
%f |
Số thực dấu phẩy động (phụ thuộc locale) |
%F |
Số thực dấu phẩy động (không phụ thuộc locale) |
%c |
Ký tự theo mã ASCII |
%x |
Số nguyên trong hệ thập lục phân (chữ thường) |
%X |
Số nguyên trong hệ thập lục phân (chữ in hoa) |
%o |
Số nguyên trong hệ bát phân |
%b |
Số nguyên trong hệ nhị phân |
%e |
Ký hiệu khoa học (chữ thường) |
%E |
Ký hiệu khoa học (chữ in hoa) |
%g |
Dạng viết tắt của %e hoặc %f |
%G |
Dạng viết tắt của %E hoặc %F |
%% |
Ký hiệu phần trăm |
Ví dụ
Ghi chuỗi có định dạng vào tệp:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Nội dung tệp output.txt:
'Number: 10, Float: 20.50, String: test'
Ví dụ
Sử dụng các đặc tả khác nhau:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Kết quả xuất:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''