PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码

2025-05-27 0 42

大家在面试中,经常会被问到的问题:

请简要说明PHP的打印方式都有哪些?

或者直接点问:

请说明echoprintprint_r的区别

看着很简单,一般会出现在初中级的笔试题中。但是要真正说明白这些语言结构或者函数也不是那么简单的事情。今天我们就来好好看看这些打印输出相关的内容。

echo

最基础的输出语句,不是函数是语言结构,不需要括号。可以使用参数列表,用逗号分隔。但如果加了括号就不能用逗号分隔着输出了。没有返回值。

?

1

2

3

4
echo 'fullstackpm'; // 正常输出:fullstackpm

echo 'fullstackpm', ' is ', 'Good!'; // 正常输出:fullstackpm is Good!

echo ('fullstackpm'); // 正常输出:fullstackpm

echo ('fullstackpm', ' is ', 'Good!'); // 报错了

print

基本和echo一样,但是不支持参数列表,有返回值。返回值永远是1。

因为有返回值,所以相对来说效率不如echo

?

1

2

3

4
print 'fullstackpm'; // 正常输出:fullstackpm

print 'fullstackpm', ' is ', 'Good!'; // 错误

$r = print ('fullstackpm'); // 正常输出:fullstackpm

print $r; // 输出1

printfsprintf

两个很高大上的函数,可以格式化输出字符串。用%标明占位符,后面的参数对应进行占位符的替换。printf和sprintf的区别就是前者直接进行了输出,而后者是将字符串进行了函数返回。请看实例。

?

1

2

3

4

5
$str = 'My name is %s, I\\'m %d years old.';

printf($str, 'fullstackpm', 1002); // 直接输出:My name is fullstackpm, I'm 1002 years old.

$s = sprintf($str, 'WoW', 12); // 这里不会输出

print $s; // 输出:My name is WoW, I'm 12 years old.

你最少要记住的,%s代表字符串,%d代表数字,%f是浮点数,%%是输出%本身,其他还有许多类型可以查看相关文档。另外还有类似的几个:

  • vprintf,他的第二个参数是一个数组,不是可变长度的参数。
  • sscanf,对于一些特殊字符处理方式不同。
  • fscanf,从文档中读取并进行格式化。

print_r

非常常用的一个函数,可以格式化的输出数组或对象。注意第二个参数设置为true,可以不直接输出而是进行函数返回。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32
$str = [

"a",

1 => "b",

"3" => "c",

"show"=>'d'

];

print_r($str)

// 输出

/**

Array

(

[0] => a

[1] => b

[3] => c

[show] => d

)

*/

$s = print_r($str, true); // 此处不会输出

echo $s;

// 输出

// 注意,输出流不在ob_start()中,测试本段请不要有其他任何输出

/**

Array

(

[0] => a

[1] => b

[3] => c

[show] => d

)

*/

var_dump和var_exports

var_dump也是非常常用的一个函数,用来显示结构信息,包括类型与值,数组对象都会展开,用缩进表示层次。var_exports与之不同的地方在于var_exports返回的内容是正常的PHP代码,可以直接使用,并且有和print_r类似的第二个return参数,作用也类似。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32
$str = [

"a",

1 => "b",

"3" => "c",

"show"=>'d'

];

var_dump($str);

// 输出

/**

array(4) {

[0] =>

string(1) "a"

[1] =>

string(1) "b"

[3] =>

string(1) "c"

'show' =>

string(1) "d"

}

*/

var_export($str);

// 输出

/**

array (

0 => 'a',

1 => 'b',

3 => 'c',

'show' => 'd',

)

*/

到此这篇关于PHP中的输出echoprintprintf、sprintf、print_r和var_dump的示例代码的文章就介绍到这了,更多相关PHP输出echoprintprintf、sprintf、print_r和var_dump内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://www.cnblogs.com/zyblog-coder/archive/2020/12/01/14066737.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码 https://www.kuaiidc.com/70637.html

相关文章

发表评论
暂无评论