Hàm vfprintf() trong PHP
Mô hình
Ghi văn bản vào tệp văn bản có tên "test.txt":
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"Có 탢ệu xe đạp ở %s.",array($number,$str)); ?>
Mã trên sẽ xuất ra:
40
Dưới đây là văn bản sẽ được ghi vào tệp "test.txt":
Có 9 triệu xe đạp ở Bắc Kinh.
Định nghĩa và cách sử dụng
Hàm vfprintf() ghi chuỗi định dạng vào luồng đầu ra được chỉ định (ví dụ: tệp hoặc cơ sở dữ liệu).
Khác với fprintf(), tham số trong vfprintf() nằm trong mảng. Các phần tử mảng sẽ được chèn vào các dấu % trong chuỗi chính. Hàm này được thực hiện theo từng bước. Tại dấu % đầu tiên, chèn phần tử đầu tiên của mảng, tại dấu % thứ hai, chèn phần tử thứ hai của mảng, và cứ thế.
Chú thích:Nếu dấu % nhiều hơn arg Nếu có tham số, bạn phải sử dụng ký hiệu giữ chỗ. Ký hiệu giữ chỗ được chèn sau dấu %, bao gồm số và "\$". Xem ví dụ 2.
Các hàm liên quan:
Cú pháp
vfprintf(stream,format,argarray)
Tham số | Mô tả |
---|---|
stream | Bắt buộc. Quy định nơi ghi hoặc xuất chuỗi. |
format |
Bắt buộc. Quy định chuỗi và cách định dạng các biến trong chuỗi. Các giá trị định dạng có thể:
Giá trị định dạng bổ sung. Được đặt giữa % và ký tự (ví dụ %.2f):
Chú thích:Nếu sử dụng nhiều giá trị định dạng, chúng phải theo thứ tự như trên. |
argarray | Bắt buộc. Một mảng các tham số, các tham số này sẽ được chèn vào format Định dạng tại ký tự % trong chuỗi. |
Chi tiết kỹ thuật
Trả về giá trị: | Trả về độ dài của chuỗi được ghi. |
PHP version: | 5+ |
More examples
Ví dụ 1
Ghi văn bản vào tệp:
<?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?>
Dưới đây là văn bản sẽ được ghi vào tệp "test.txt":
123.000000456.000000
Ví dụ 2
Sử dụng định dạng:
<?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"Với 2 số thập phân: %1$.2f \nKhông có số thập phân: %1$s",array($number)); ?>
Dưới đây là văn bản sẽ được ghi vào tệp "test.txt":
Với 2 số thập phân: 123.00 Không có số thập phân: 123
Ví dụ 3
Sử dụng printf() để minh họa tất cả các giá trị định dạng có thể:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 字符 50 là 2 // 注释:格式值 "%%" 返回百分号 printf("%%b = %b <br>",$num1); // 二进制数 printf("%%c = %c <br>",$char); // ASCII 字符 printf("%%d = %d <br>",$num1); // 带符号的十进制数 printf("%%d = %d <br>",$num2); // 带符号的十进制数 printf("%%e = %e <br>",$num1); // 科学计数法(小写) printf("%%E = %E <br>",$num1); // 科学计数法(大写) printf("%鑾u <br>", $num1); // Số thập phân không dấu (dương) printf("%鑾u <br>", $num2); // Số thập phân không dấu (âm) printf("%%f = %f <br>", $num1); // Số thập phân (xem xét cài đặt địa phương) printf("%%F = %F <br>", $num1); // Số thập phân (không xem xét cài đặt địa phương) printf("%%g = %g <br>", $num1); // Ngắn hơn %e và %f printf("%%G = %G <br>", $num1); // Ngắn hơn %E và %f printf("%%o = %o <br>", $num1); // Số tám printf("%%s = %s <br>", $num1); // Chữ printf("%%x = %x <br>", $num1); // Số thập lục phân (chữ thường) printf("%%X = %X <br>", $num1); // Số thập lục phân (chữ hoa) printf("%%+d = %+d <br>", $num1); // Ký hiệu giải thích (dương) printf("%%+d = %+d <br>", $num2); // Giải thích ký hiệu (âm) ?>