Home  >  Article  >  Backend Development  >  What are the differences in php output?

What are the differences in php output?

藏色散人
藏色散人Original
2022-10-18 09:11:041897browse

The differences in php output are: 1. echo returns void and does not return a value; 2. echo speed is faster than print; 3. print_r function prints easy-to-understand information about variables; 4. The printf() function returns a formatted string; 5. The sprintf function writes the formatted string into a variable instead of outputting it; 6. The var_dump function is used for debugging.

What are the differences in php output?

The operating environment of this tutorial: windows7 system, PHP8.1 version, DELL G3 computer

The six output methods in php Difference

php output echo, print , print_r , printf , Comparison of the differences between sprintf and var_dump.

1. echo

echo() is actually not a function, but a php statement, so you don’t need to It uses parentheses. However, if you wish to pass more than one argument to echo(), then using parentheses will cause a parsing error. Moreover, echo returns void and does not return a value, so it cannot be used to assign values.

<?php

$a = echo("words"); // 错误!不能用来赋值

echo "words"; // 55nav

echo ("words"); // 55nav

echo ("apple","bear"); //发生错误,有括号不能传递多个参数

echo "alice","bill","cart", "daring";  // 不用括号的时候可以用逗号隔开多个值, 会输出 alicebillcartdaring  不管是否换行,最终显示都是为一行

$fistname="alice";

echo "$fistname com"; // 如果 $firstname = "alice", 则会输出 alice com.

echo &#39;$firstname com&#39;; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname com

?>

2、print

print() has the same usage as echo(), but echo is faster than print A little faster. It's actually not a function either, so you don't need to use parentheses on it.

However, if you wish to pass more than one argument to print(), then using parentheses will cause a parsing error.

Note that print always returns 1, which is different from echo.

That is, you can use print to assign values, but it has no practical meaning. .

1 <?php 
2 
3 $a = print("alice"); // 这个是允许的
4 
5 echo $a; // $a的值是1

#3. print_r function

The print_r function prints easy-to-understand information about variables.

Syntax:

mixed print_r ( mixed $expression [, bool return ] )

If the variable is string, integer or float, its value will be output directly. If the variable is an array, a formatted array will be output for easy reading, that is, the format corresponding to key and value.

Similar to object objects.

print_r has two parameters. The first is a variable and the second can be set to true. If set to true, a string will be returned, otherwise a Boolean value TRUE## will be returned. #.

<?php

$a="alice";

$c = print_r($a);

echo $c;  // $c的值是TRUE

$c = print_r($a,true);

echo $c; // $c的值是字符串alice

$d = [1,2,3,4];

print_r($d); // Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

4. printf function

printf() function returns a formatted string .

Syntax:

printf(format,arg1,arg2,arg)

Parameter format It is the conversion format, starting with the percent sign ("%") and ending with the conversion character.

The following are possible format values: * %% – Returns the percent sign

* %b – 二进制数* %c – 依照 ASCII 值的字符* %d – 带符号十进制数* %e – 可续计数法(比如 1.5e+3)* %u – 无符号十进制数* %f – 浮点数(local settings aware)* %F – 浮点数(not local settings aware)* %o – 八进制数* %s – 字符串* %x – 十六进制数(小写字母)* %X – 十六进制数(大写字母)arg1, arg2, arg++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的,在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

If there are more than % signs arg parameter, you must use placeholders. Placeholders are inserted after the % sign and consist of numbers and "\$".

You can use numbers to specify the displayed parameters. Please see the example for details.

<?php

printf("My name is %s %s。","alice", "com"); // My name is alice com。

printf("My name is %1\$s %1\$s","alice", "com"); // 在s前添加1\$或2\$.....表示后面的参数显示的位置,此行输出 My name is alice alice因为只显示第一个参数两次。

printf("My name is %2\$s %1\$s","alice", "com"); // My name is com alice

?>

5、sprintf函数

此函数使用方法和printf一样,唯一不同的就是该函数把格式化的字符串写入一个变量中,而不是输出来。

<?php

sprintf("My name is %1\$s %1\$s","alice", "com");  //你会发现没有任何东西输出的。

$out = sprintf("My name is %1\$s %2\$s","alice", "com");

echo $out;  //输出 My name is alice com

6、var_dump函数

功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

1 var_dump(&#39;hello&#39;); // string(5) "hello"

 推荐学习:《PHP视频教程

The above is the detailed content of What are the differences in php output?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn