Home > Article > Backend Development > The difference between echo(), print() and print_r() in PHP_PHP Tutorial
The difference between echo and print is that echo can output multiple variable values, while print has only one variable, which is output as a string. Another difference is that echo has no return value, while print has the return value 1. Print cannot output arrays and object.
print_r can output string, int, float, array, object, etc. When outputting array, it will be represented by a structure. print_r returns true when the output is successful;
And print_r can use print_r($str,true) to make print_r not output but return the value processed by print_r.
Can be understood as:
print is to print a string
print_r prints composite types such as arrays, objects, etc.
The execution speed in PHP from fast to slow is: echo(), print(), print_r()
echo is a PHP statement, print and print_r are functions, statements have no return value, and functions can have return values (even if they are useless)
print() can only print out the value of simple type variables (such as int, string)
print_r() can print out the value of complex type variables (such as arrays, objects)
echo Output one or more strings
echo -- Output one or more strings
Descrīption
void echo ( string arg1 [, string ...] ) //The return value is empty
echo "Hello","Friend";
print --output a string
Descrīption
int print (string arg)//The return value is an integer
print "Hello friend";
You can perform the following operations
$name=print "nihao n";
$str = 'test print value is $name .';
eval_r("$print="$str";");
echo $print;
print_r – Print human-readable information about a variable.
bool print_r (mixed expression [, bool return] ) //The return value is of Boolean type, and the parameters are of mix type, which can be strings, integers, arrays, and object classes. print_r() displays easy-to-understand information about a variable. If a string, integer, or float is given, the variable value itself is printed. If an array is given, the keys and elements will be displayed in a certain format. object is similar to an array.
print_r() will move the array pointer to the end.
You can
print_r(str);
print_r(int);
print_r(array);
print_r(obj);
You can also use var_dump, var_export
echo()
Multiple strings can be output at the same time, multiple parameters can be used, parentheses are not required, and there is no return value.
print()
Only one string and one parameter can be output at the same time. Parentheses are required and there is a return value. When the execution fails, it returns false. The usage of print is very similar to the C language, so special explanations will be given to % in the output content.
$a=print('hi');
echo $a;
//--------------------------
hi 1 //1 is the value of $a.
//--------------------------------
die(); //Difference from exit().
Has two functions: first output the content, and then exit the program. (commonly used in linked servers and databases)
mysql_connect("locahost","root","root") or die("Link to server failed!");
Printf(); //f refers to format
printf("Parameter 1", Parameter 2): Parameter 1 = output format; Parameter 2 = output variable. (%s: according to string; %d: according to integer; %b: according to binary; %x: according to hexadecimal; %X: according to hexadecimal uppercase output; %o: according to octal; %f: according to float Dot type)
For parameter 1, its format is as follows:
%[ 'padding_character][-][width][.precision]type
Description:
All conversions start with %. If you want to print a %, you must use "%%";
The parameter padding_character is optional and is used to fill the variable until the specified width, such as: printf ("$%'a10.2f" , 43.2); //$aaaaa43.20, the default is to fill a space, if a space is specified or 0, there is no need to use "'" as a prefix. For any other prefix you must specify single quotes.
[-] is optional, adding it indicates that the data should be left aligned. Instead of the default right alignment, add a - as in the above example: printf ("$%'a-10.2f" , 43.2); //$43.20aaaaa
whidth indicates how much space (in characters) is left here for the variable to be replaced. As in the above example, 10 (including decimal point).
precision must start with a decimal point, indicating the number of digits to be displayed after the decimal place.
Function, returns the number of output characters, formats the text and then outputs it, such as:
printf ("$.2f" , 43.2); //$43.20
$ represents the padding character
0 means there are not enough digits, so add 0 without affecting the original value
1 represents the total width of the output
2 represents the number of decimal places, with rounding
%f means displaying it as a floating point number
Formatting commands and instructions:
%% prints the percent sign without conversion.
%b Convert integer to binary.
%c Convert integer to corresponding ASCII character. For example: printf ("$%c" , 65); // Output: A
%d Convert integer to decimal. For example: printf ("$%d" , 65.53); // Output: 65
%f times precision number converted to floating point number.
%o Convert integer to octal.
%s Convert integer to string.
%x integer is converted to lower case hexadecimal.
%X Convert integer to uppercase hexadecimal
For printf(), you can also use the parameter method with a serial number and ending with a $ symbol to specify the order of parameter conversion. Such as:
printf ("the total is $%2$.2f and subtotal: %1$.2f" , 65.55,37.2); //the total is $37.20 and subtotal: 65.55
As above: %2$.2f specifies the second parameter 65.55, and %1$.2f specifies the first parameter 37.20.
sqlmap file of database table fields and class attributes 4. Then create a new srcmain