If you use the command line interface (CLI SAPI), you may be interested by the 3 standard input/output streams (STDIN, STDOUT & STDERR) described at: https://www.php.net/manual/en/features.commandline.io-streams.phpfprintf
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
fprintf
Референца за `function.fprintf.php` со подобрена типографија и навигација.
fprintf
класата mysqli_driver
fprintf — Напиши форматирана низа во поток
= NULL
Напиши низа произведена според format до ресурсот на потокот определен од stream.
Параметри
stream-
Покажувач на датотечен систем resource што обично се создава со користење на fopen().
format-
Низата за форматирање се состои од нула или повеќе директиви: обични знаци (со исклучок на
%) што се копираат директно во резултатот и спецификации за конверзија, секоја од кои резултира со добивање на сопствен параметар.Спецификацијата за конверзија следи овој прототип:
%[argnum$][flags][width][.precision]specifier.но прифаќа низа од аргументи, наместо променлив број на аргументи.
Цел број проследен со знак долар
$, за да се специфицира кој број аргумент да се третира во конверзијата.Argnum
Знаменце = NULL -Порамни лево во дадената ширина на полето; Десното порамнување е стандардно +Префикс позитивни броеви со знак плус +; Стандардно само негативните се префиксирани со негативен знак.FlagsЈа пополнува низата со празни места. Ова е стандардно. 0Само лево ги пополнува броевите со нули. Со sспецификатори ова може да ги пополни и десно со нули.'(простор)Го полни резултатот со карактерот (char). Ширина
Или цел број што кажува колку знаци (минимум) треба да резултира оваа конверзија, или
*. Ако*се користи, тогаш ширината се дава како дополнителна цел вредност што му претходи на онаа форматирана од спецификаторот.Прецизност
Период
.опционално проследено со цел број или*, чие значење зависи од спецификаторот:-
За
e,E,fandFспецификатори: ова е бројот на цифри што треба да се испечатат по децималната точка (по дифолт, ова е 6). -
За
g,G,handHспецификатори: ова е максималниот број на значајни цифри што треба да се испечатат. -
За
sспецификатор: делува како точка на прекин, поставувајќи максимално ограничување на карактерите на низата.
Забелешка: Ако е специфициран периодот без експлицитна вредност за прецизност, се претпоставува 0. Ако
*се користи, прецизноста се дава како дополнителна цел вредност што му претходи на онаа форматирана од спецификаторот.Спецификатори Спецификатор = NULL %Буквален процентен знак. Не е потребен аргумент. bАргументот се третира како цел број и се претставува како бинарен број. cАргументот се третира како цел број и се претставува како карактер со таа ASCII. dАргументот се третира како цел број и се претставува како (потпишан) децимален број. eАргументот се третира како научна нотација (на пр. 1.2e+2). EКако eспецификатор, но користи големи букви (на пр. 1.2E+2).fАргументот се третира како пловечки број и се прикажува како пловечки број (свесен за локалот). FАргументот се третира како пловечки број и се прикажува како пловечки број (не свесен за локалот). gОпшт формат.
Нека P е еднакво на прецизноста ако е различно од нула, 6 ако прецизноста е изоставена или 1 ако прецизноста е нула. Потоа, ако конверзијата со стил E би имала експонент X:
Ако P > X ≥ −4, конверзијата е со стил f и прецизност P − (X + 1). Во спротивно, конверзијата е со стил e и прецизност P − 1.
GКако gспецификатор, но користиEandf.hКако gспецификатор, но користиF. Достапно од PHP 8.0.0.HКако gспецификатор, но користиEandF. Достапно од PHP 8.0.0.oАргументот се третира како цел број и се прикажува како октален број. sАргументот се третира и прикажува како стринг. uАргументот се третира како цел број и се прикажува како непотпишан децимален број. xАргументот се третира како цел број и се прикажува како хексадецимален број (со мали букви). XАргументот се третира како цел број и се прикажува како хексадецимален број (со големи букви). Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваНа
cспецификаторот за тип ги игнорира подлогата и ширината.Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваОбидот за користење комбинација од спецификаторите за стринг и ширина со множества знаци што бараат повеќе од еден бајт по знак може да резултира со неочекувани резултати.
Променливите ќе бидат претворени во соодветен тип за спецификаторот:
Ракување со типови Тип Спецификатори string sint d,u,c,o,x,X,bfloat e,E,f,F,g,G,h,H -
За
values-
Вратени вредности
Ја враќа должината на напишаниот стринг.
Errors/Exceptions
Од PHP 8.0.0, а ValueError се фрла ако бројот на аргументи е нула. Пред PHP 8.0.0, а E_WARNING беше емитирано наместо тоа.
Од PHP 8.0.0, а ValueError се фрла ако [width] е помало од нула или поголемо од PHP_INT_MAX. Пред PHP 8.0.0, а E_WARNING беше емитирано наместо тоа.
Од PHP 8.0.0, а ValueError се фрла ако [precision] е помало од нула или поголемо од PHP_INT_MAX. Пред PHP 8.0.0, а E_WARNING беше емитирано наместо тоа.
Од PHP 8.0.0, а ArgumentCountError се фрла кога се даваат помалку аргументи отколку што е потребно. Пред PHP 8.0.0, false беше вратено и а E_WARNING емитирано наместо тоа.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
Оваа функција повеќе не враќа false при неуспех.
|
| 8.0.0 |
Фрли а ValueError ако бројот на аргументи е нула; претходно оваа функција емитираше а E_WARNING instead.
|
| 8.0.0 |
Фрли а ValueError if [width] е помало од нула или поголемо од PHP_INT_MAX; претходно оваа функција емитираше а E_WARNING instead.
|
| 8.0.0 |
Фрли а ValueError if [precision] е помало од нула или поголемо од PHP_INT_MAX; претходно оваа функција емитираше а E_WARNING instead.
|
| 8.0.0 |
Фрли а ArgumentCountError кога се даваат помалку аргументи отколку што е потребно; претходно оваа функција емитираше а E_WARNING instead.
|
Примери
Пример #1 fprintf()Врати вредности од низата како форматиран стринг според
<?php
if (!($fp = fopen('date.txt', 'w'))) {
return;
}
$year = 2005;
$month = 5;
$day = 6;
fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// will write the formatted ISO date to date.txt
?>Пример #2 fprintf()Пример #8
<?php
if (!($fp = fopen('currency.txt', 'w'))) {
return;
}
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$len = fprintf($fp, '%01.2f', $money);
// will write "123.10" to currency.txt
echo "wrote $len bytes to currency.txt";
// use the return value of fprintf to determine how many bytes we wrote
?>Види Исто така
- printf() Излез на стринг
- sprintf() - Врати форматирана низа
- vprintf() Излез на стринг
- vsprintf() - Врати форматирана низа
- vfprintf() - Запиши форматирана низа во поток
- sscanf() - Парсирај влез од низа според формат
- fscanf() - Парсира влез од датотека според формат
- number_format() - Заокружи дропки надолу
- date() - Форматирај Unix временски печат