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投票程序源码
Mar 11 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
php使用curl简单抓取远程url的方法
Mar 13 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
php读取和保存base64编码的图片内容
Apr 22 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
php微信支付之公众号支付功能
May 30 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
php实现简易计算器
Aug 28 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分页显示制作详细讲解
2006/12/05 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
php实现的xml操作类
2016/01/15 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
python中精确输出JSON浮点数的方法
2014/04/18 Python
使用python实现rsa算法代码
2016/02/17 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
Python新手如何理解循环加载模块
2020/05/29 Python
python实现mean-shift聚类算法
2020/06/10 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
物流专业毕业生推荐信范文
2013/11/18 职场文书
小学教育毕业生自荐信
2013/11/18 职场文书
捐书寄语赠言
2014/01/18 职场文书
校企合作协议书
2014/04/16 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
财务人员担保书
2014/05/13 职场文书
中药学专业求职信
2014/05/31 职场文书
优秀大学生自荐信
2015/03/26 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2015年人民调解工作总结
2015/05/18 职场文书