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


Posted in PHP onDecember 01, 2020

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

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

或者直接点问:

请说明echo、print、print_r的区别

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

echo

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

echo 'fullstackpm'; // 正常输出:fullstackpm
echo 'fullstackpm', ' is ', 'Good!'; // 正常输出:fullstackpm is Good!
echo ('fullstackpm'); // 正常输出:fullstackpm
echo ('fullstackpm', ' is ', 'Good!'); // 报错了

print

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

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

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

printf和sprintf

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

$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,可以不直接输出而是进行函数返回。

$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参数,作用也类似。

$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中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码的文章就介绍到这了,更多相关PHP输出echo、print、printf、sprintf、print_r和var_dump内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP初学者头疼问题总结
Jul 08 PHP
php 获取一个月第一天与最后一天的代码
May 16 PHP
openPNE常用方法分享
Nov 29 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
基于PHP编程注意事项的小结
Apr 27 PHP
PHP 解决session死锁的方法
Jun 20 PHP
简单的php文件上传(实例)
Oct 27 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
php的debug相关函数用法示例
Jul 11 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
php如何实现数据库的备份和恢复
Nov 30 #PHP
php实现简单四则运算器
Nov 29 #PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
Nov 27 #PHP
php实现JWT验证的实例教程
Nov 26 #PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 #PHP
PHP扩展安装方法步骤解析
Nov 24 #PHP
Cookie跨域问题解决方案代码示例
Nov 24 #PHP
You might like
php目录管理函数小结
2008/09/10 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
python pandas时序处理相关功能详解
2019/07/03 Python
python 动态调用函数实例解析
2019/10/21 Python
Python常用断言函数实例汇总
2020/11/30 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
大学生旅游业创业计划书
2014/01/29 职场文书
生物制药专业求职信
2014/03/11 职场文书
二年级评语大全
2014/04/23 职场文书
2015年财政局工作总结
2015/05/21 职场文书
企业安全生产检查制度
2015/08/06 职场文书
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫