Printf, print, echo, sprintf, vprintf, vfprintf, vsprintf Statements in PHP
There are many ways to output string expressions in PHP. In this post, I will explain the expressions echo, print, printf, sprintf, vprintf, vfprintf, vsprintf, which seem to be similar to each other but have various differences, and how they are used.
1.) echo :
- It prints a string output to the screen. String can contain HTML expressions.
 - It is not a real function. It comes with the structure of the language.
 - It does not return a value when executed. Doesn’t behave like a function
 - The echo statement can be used as echo and echo().
 - If double quotes are used, variables can be used inside the string expression.
 
$x = 5; echo "Hello world!"; echo "<h2> PHP is wonderful language. </h2>"; echo "Number is : $x"; // Output: Hello world! // Output: PHP is wonderful language. // Output: Number is : 5

2.) print:
- Outputs a formatted string.
 - Since the print statement is not a real function, there is no need to use parentheses. It comes with the structure of the language.
 - It always returns 1 when executed.
 
$x = print "Hello world! <br>"; echo $x; //Output : Hello world! //Output : 1

3.) printf:
- Outputs a formatted string.
 - Returns the length of the string output when executed.
 
$number = 5;
$str = "London";
$x = printf("There are %u million people in %s. <br>",$number,$str);
echo $x;
//Output: There are 5 million people in London.
//Output: 42
4.) sprintf:
- Returns the formatted string.
 
$number = 5;
$str = "London";
$x = sprintf("There are %u million people in %s. <br>",$number,$str);
echo $x;
//Output: There are 5 million people in London.
If the arguments are to be used in more than one place, the \$ expression is used.
$number = 5;
$str = "London";
$x = sprintf("There are %1\$u million people in %s. <br> Second usage place: %1\$u",$number,$str);
echo $x;
//Output: There are 5 million people in 5.
	     Second usage place: 55.) vprintf:
- Output a formatted string.
 - It behaves like printf, except it takes array as an argument instead of variables.
 - Returns the length of the formatted string.
 
$number = 5;
$str = "London";
$x = vprintf("There are %u million people in %s. <br>", [$number,$str]);
echo $x;
//Output: There are 5 million people in London.
//Output: 42
6.) vsprintf:
- Returns the formatted string value.
 - It behaves like sprintf, except it takes array as an argument instead of variables.
 
$number = 5;
$str = "London";
$x = vsprintf("There are %u million people in %s. <br>", [$number,$str]);
echo $x;
//Output: There are 5 million people in London.
7.) vfprintf:
- Writes a formatted string to a file.
 
$number = 5;
$str = "London";
$file = fopen("test.txt","w");
vfprintf("There are %u million people in %s. <br>", [$number,$str]);test.txt dosyasına There are 5 million people in London expression is written in test.txt .
The table below shows the format values you can use for variables in string expressions.
| format | POSSIBLE FORMAT VALUES %% – Returns a percent sign %b – Binary number %c – The character according to the ASCII value %d – Signed decimal number (negative, zero or positive) %e – Scientific notation using a lowercase (e.g. 1.2e+2) %E – Scientific notation using a uppercase (e.g. 1.2E+2) %u – Unsigned decimal number (equal to or greather than zero) %f – Floating-point number (local settings aware) %F – Floating-point number (not local settings aware) %g – shorter of %e and %f %G – shorter of %E and %f %o – Octal number%s – String %x – Hexadecimal number (lowercase letters) %X – Hexadecimal number (uppercase letters)  | 
Good luck…