[ function writes a formatted string to a specified output stream (e.g., a file or database).
arg1, arg2, ++ parameters will be inserted at the percent sign (%) in the main string. This function is executed step by step. At the first % symbol, arg1 is inserted, at the second % symbol, arg2 is inserted, and so on.
**Note:** If there are more % symbols than arg parameters, you must use placeholders. Placeholders are inserted after the % symbol, consisting of a number and "$". See Example 2 for details.
**Tip:** Related functions: [printf()]( [sprintf()]( [vprintf()]( [vsprintf()]( and [vfprintf()](
* * *
## Syntax
fprintf(_stream,format,arg1,arg2,arg++_)
| Parameter | Description |
| --- | --- |
| _stream_ | Required. Specifies where to write/output the string. |
| _format_ | Required. Specifies the string and how to format the variables within it. Possible format values: * %% - Returns a percent sign % * %b - Binary number * %c - Character corresponding to ASCII value * %d - Signed decimal number (negative, 0, positive) * %e - Using lowercase scientific notation (e.g., 1.2e+2) * %E - Using uppercase scientific notation (e.g., 1.2E+2) * %u - Unsigned decimal number (greater than or equal to 0) * %f - Floating-point number (locale-aware) * %F - Floating-point number (not locale-aware) * %g - Shorter of %e and %f * %G - Shorter of %E and %f * %o - Octal number * %s - String * %x - Hexadecimal number (lowercase) * %X - Hexadecimal number (uppercase) Additional format values. Must be placed between % and letter (e.g., %.2f): * + (Adds + or - before the number to indicate positivity or negativity. By default, only negative numbers are marked, positive numbers are not) * ' (Specifies what to use as padding, default is space. It must be used with the width specifier. E.g.: %"x20s" (uses "x" as padding)) * - (Left-aligns the variable value) * (Specifies the minimum width of the variable value) * . (Specifies the number of decimal places or maximum string length) **Note:** If multiple of the above format values are used, they must be used in the order specified above, not mixed up. |
| _arg1_ | Required. Specifies the parameter to insert at the first % symbol in the format string. |
| _arg2_ | Optional. Specifies the parameter to insert at the second % symbol in the format string. |
| _arg++_ | Optional. Specifies the parameter to insert at the third, fourth, etc. % symbols in the format string. |
## Technical Details
| Return Value: | Returns the length of the written string. |
| --- |
| PHP Version: | 5+ |
* * *
## More Examples
## Example 1
Write some text to a file:
The following text will be written to the file "test.txt":
123.000000
## Example 2
Using placeholders:
The following text will be written to the file "test.txt":
With 2 decimals: 123.00
With no decimals: 123
## Example 3
Use printf() to demonstrate all possible format values:
<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2
// Note: The format value "%%" returns a percent sign
printf("%%b = %b
",$num1); // Binary number
printf("%%c = %c
",$char); // The ASCII Character
printf("%%d = %d
",$num1); // Signed decimal number
printf("%%d = %d
",$num2); // Signed decimal number
printf("%%e = %e
",$num1); // Scientific notation (lowercase)
printf("%%E = %E
",$num1); // Scientific notation (uppercase)
printf("%%u = %u
",$num1); // Unsigned decimal number (positive)
printf("%%u = %u
",$num2); // Unsigned decimal number (negative)
printf("%%f = %f
",$num1); // Floating-point number (locale-aware)
printf("%%F = %F
",$num1); // Floating-point number (not locale-aware)
printf("%%g = %g
",$num1); // Shorter of %e and %f
printf("%%G = %G
",$num1); // Shorter of %E and %f
printf("%%o = %o
",$num1); // Octal number
printf("%%s = %s
",$num1); // String
printf("%%x = %x
",$num1); // Hexadecimal number (lowercase)
printf("%%X = %X
",$num1); // Hexadecimal number (uppercase)
printf("%%+d = %+d
",$num1); // Sign specifier (positive)
printf("%%+d = %+d
",$num2); // Sign specifier (negative)
?>
[Run Example Β»](
* * *
[
- π PHP (872)
- π Python3 (810)
- π HTML (691)
- βοΈ C# (650)
- π Python (594)
- β Java (552)
- βοΈ PyTorch (534)
- π§ Linux (472)
- βοΈ C (432)
- π¦ jQuery (406)
- π¨ CSS (377)
- π XML (259)
- π¦ jQuery UI (231)
- π― Bootstrap (220)
- βοΈ C++ (215)
- π °οΈ Angular (205)
- π HTML DOM (201)
- π΄ Redis (188)
- π Web Building (142)
- π Vue.js (141)
- π R (131)
- πΌ Pandas (124)
- ποΈ SQL (105)
- βοΈ Docker (86)
- βοΈ TypeScript (73)
- βοΈ Highcharts (70)
- π AI Agent (70)
- βοΈ React (68)
- π Node.js (65)
- βοΈ Machine Learning (60)
- π Git (59)
- π΅ Go (58)
- π Markdown (58)
- π’ NumPy (55)
- π§ͺ Flask (54)
- βοΈ Scala (53)
- ποΈ SQLite (52)
- π JSTL (52)
- βοΈ VS Code (51)
- π MongoDB (49)
- π Perl (48)
- π Ruby (47)
- π Matplotlib (47)
- βοΈ Uncategorized (46)
- π Swift (46)
- ποΈ PostgreSQL (46)
- βοΈ Data Structures (46)
- π Playwright (46)
- π iOS (45)
- ποΈ MySQL (44)
- βοΈ LangChain (43)
- π FastAPI (40)
- βοΈ Ionic (38)
- π Design Patterns (37)
- βοΈ Eclipse (37)
- π¨ CSS3 (34)
- π Lua (34)
- βοΈ Codex (34)
- πΈ Django (32)
- βοΈ OpenCV (32)
- π Rust (31)
- π JSP (31)
- βοΈ Claude Code (31)
- π Pillow (30)
- βοΈ OpenCode (28)
- π AI Skills (27)
- π Flutter (26)
- π Maven (26)
- π¨ Tailwind CSS (25)
- π§ TensorFlow (25)
- π Servlet (24)
- π Dart (23)
- π Assembly (23)
- βοΈ Memcached (22)
- βοΈ SVG (22)
- βοΈ Electron (22)
- π NLP (22)
- π Regex (21)
- π Android (20)
- π£ Kotlin (19)
- π Julia (19)
- π SOAP (17)
- π Selenium (17)
- π PowerShell (17)
- π Sass (16)
- π HTTP (16)
- π Zig (15)
- π AI (15)
- π AJAX (14)
- π Swagger (14)
- βοΈ Scikit-learn (13)
- βοΈ ECharts (13)
- βοΈ Chart.js (13)
- βοΈ Cursor (13)
- βοΈ SciPy (12)
- π RDF (12)
- π Ollama (12)
- π Next.js (12)
- π Plotly Dash (12)
- π JSON (11)
- π RESTful API (11)
- π WSDL (9)
- βοΈ CMake (8)
- π Firebug (7)
- π Nginx (6)
- βΈοΈ Kubernetes (6)
- π Jupyter (6)
- π LaTeX (4)
- π UniApp (4)
- ποΈ SQL Server (1)
YouTip