Функция vfprintf
Функцията vfprintf записва низ, форматиран според спецификаторите, във файлов поток. Първият параметър приема файлов ресурс, вторият - низ за формат, третият - масив от аргументи за заместване. В низа за формат се използват специални символи (форматни спецификатори), които започват със знака % и управляват форматирането на изхода.
Синтаксис
vfprintf(resource $handle, string $format, array $args): int
Форматни спецификатори
| Спецификатор | Описание |
|---|---|
%s |
Низ |
%d |
Цяло число със знак (десетично) |
%u |
Цяло число без знак (десетично) |
%f |
Число с плаваща запетая (зависимо от локала) |
%F |
Число с плаваща запетая (независимо от локала) |
%c |
Символ по ASCII-код |
%x |
Цяло число в шестнадесетична система (малки букви) |
%X |
Цяло число в шестнадесетична система (главни букви) |
%o |
Цяло число в осмична система |
%b |
Цяло число в двоична система |
%e |
Научна нотация (малки букви) |
%E |
Научна нотация (главни букви) |
%g |
Кратка запис %e или %f |
%G |
Кратка запис %E или %F |
%% |
Знак за процент |
Пример
Запис на форматиран низ във файл:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Съдържание на файла output.txt:
'Number: 10, Float: 20.50, String: test'
Пример
Използване на различни спецификатори:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Резултат от изхода:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''