这篇文章主要介绍了PHP中的输出echo、print、printf、sprintf、print_r和var_dump的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

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

或者直接点问:

请说明echo、print、print_r的区别

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

echo

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

  1. echo 'fullstackpm'; // 正常输出:fullstackpm
  2. echo 'fullstackpm', ' is ', 'Good!'; // 正常输出:fullstackpm is Good!
  3. echo ('fullstackpm'); // 正常输出:fullstackpm
  4. echo ('fullstackpm', ' is ', 'Good!'); // 报错了

print

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

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

  1. print 'fullstackpm'; // 正常输出:fullstackpm
  2. print 'fullstackpm', ' is ', 'Good!'; // 错误
  3. $r = print ('fullstackpm'); // 正常输出:fullstackpm
  4. print $r; // 输出1

printf和sprintf

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

  1. $str = 'My name is %s, I\'m %d years old.';
  2. printf($str, 'fullstackpm', 1002); // 直接输出:My name is fullstackpm, I'm 1002 years old.
  3. $s = sprintf($str, 'WoW', 12); // 这里不会输出
  4. print $s; // 输出:My name is WoW, I'm 12 years old.

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

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

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

  1. $str = [
  2. "a",
  3. 1 => "b",
  4. "3" => "c",
  5. "show"=>'d'
  6. ];
  7. print_r($str)
  8. // 输出
  9. /**
  10. Array
  11. (
  12. [0] => a
  13. [1] => b
  14. [3] => c
  15. [show] => d
  16. )
  17. */
  18. $s = print_r($str, true); // 此处不会输出
  19. echo $s;
  20. // 输出
  21. // 注意,输出流不在ob_start()中,测试本段请不要有其他任何输出
  22. /**
  23. Array
  24. (
  25. [0] => a
  26. [1] => b
  27. [3] => c
  28. [show] => d
  29. )
  30. */

var_dump和var_exports

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

  1. $str = [
  2. "a",
  3. 1 => "b",
  4. "3" => "c",
  5. "show"=>'d'
  6. ];
  7. var_dump($str);
  8. // 输出
  9. /**
  10. array(4) {
  11. [0] =>
  12. string(1) "a"
  13. [1] =>
  14. string(1) "b"
  15. [3] =>
  16. string(1) "c"
  17. 'show' =>
  18. string(1) "d"
  19. }
  20. */
  21. var_export($str);
  22. // 输出
  23. /**
  24. array (
  25. 0 => 'a',
  26. 1 => 'b',
  27. 3 => 'c',
  28. 'show' => 'd',
  29. )
  30. */

到此这篇关于PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码的文章就介绍到这了。

更多相关文章

  1. android gps开发必备资料(含测试demo下载)
  2. Android(安卓)读取SIM卡参数
  3. JSP request(return String)用法详例
  4. 模板函数 and 函数的参数与返回值
  5. 函数参数与返回值,模板字面量与模板函数
  6. JSP request(return String)用法详例
  7. JSP request(return String)用法详例
  8. JSP request(return String)用法详例
  9. 实例演示函数参数与返回值

随机推荐

  1. Android与JavaScript方法相互调用!
  2. Android:CourseTableLayout — 好用的Andr
  3. Android 屏幕横竖屏切换
  4. ubuntu10.10下编译android内核源码
  5. Android Thread 介绍与实例
  6. Android: couldn't save which view has
  7. android设置Activity背景透明
  8. 抽屉类
  9. Android(安卓)中访问SDCARD
  10. Android Framework系统服务详解