Función vfprintf
La función vfprintf escribe una cadena, formateada de acuerdo con los especificadores, en un flujo de archivo. El primer parámetro acepta un recurso de archivo, el segundo - una cadena de formato, el tercero - una matriz de argumentos para la sustitución. En la cadena de formato se utilizan caracteres especiales (especificadores de formato), que comienzan con el signo % y controlan el formato de la salida.
Sintaxis
vfprintf(resource $handle, string $format, array $args): int
Especificadores de formato
| Especificador | Descripción |
|---|---|
%s |
Cadena |
%d |
Número entero con signo (decimal) |
%u |
Número entero sin signo (decimal) |
%f |
Número de punto flotante (dependiente de la configuración regional) |
%F |
Número de punto flotante (no dependiente de la configuración regional) |
%c |
Carácter por código ASCII |
%x |
Número entero en sistema hexadecimal (minúsculas) |
%X |
Número entero en sistema hexadecimal (mayúsculas) |
%o |
Número entero en sistema octal |
%b |
Número entero en sistema binario |
%e |
Notación científica (minúsculas) |
%E |
Notación científica (mayúsculas) |
%g |
Formato corto %e o %f |
%G |
Formato corto %E o %F |
%% |
Signo de porcentaje |
Ejemplo
Escritura de una cadena formateada en un archivo:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Contenido del archivo output.txt:
'Number: 10, Float: 20.50, String: test'
Ejemplo
Uso de diferentes especificadores:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Resultado de la salida:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''