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缓存技术介绍
Nov 25 PHP
discuz7 phpMysql操作类
Jun 21 PHP
基于php权限分配的实现代码
Apr 28 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
php获取域名的google收录示例
Mar 24 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
Apr 25 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
php实现对两个数组进行减法操作的方法
Apr 17 PHP
PHP开发Apache服务器配置
Jul 15 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 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 fsockopen写的HTTP下载的类
2007/02/22 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
python实现查询IP地址所在地
2015/03/29 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
python中安装django模块的方法
2020/03/12 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
人力资源行政经理自我评价
2013/10/23 职场文书
高三自我评价
2014/02/01 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs