PHP打印输出函数汇总


Posted in PHP onAugust 28, 2016

本篇文章一直来学习PHP中所有用于输出信息的函数,分类比较来学习其相同点与不同点,掌握日常开发中必备的技巧。

开发就一定需要调试代码,而PHP调试代码不能像iOS那种编译器语言可以通过Xcode这样的开发软件来单步调试,因此开发PHP的人员通常会通过输出函数打印相关提示信息来调试代码。

PHP中常用的打印输出的函数一步步讲解

echo

echo函数可以同时输出多个字符串,带多个参数,但并不要求使用圆括号,也没有返回值。但是,如果带上圆括号也没有问题的,因此函数本就需要圆括号的:

echo '标哥的技术博客<br>';
echo ('echo也可以带括号<br>');

相信echo函数是使用最多的打印函数了吧!

print

print函数同时只能输出一个字符串,只能带一个参数,需要带圆括号而且会有返回值。当其执行失败时返flase。

print('www.huangyibiao.com<br>');

print函数使用也是相当多的,用于打印信息,不过没有echo那么方便,但它有它的用处!

printf

printf函数带有两个参数,第一个参数是指定输出格式,第二个参数是要输出的变量。输出格式为:

%s: 按字符串;
%d: 按整型;
%b: 按二进制;
%x: 按16进制;
%o: 按八进制;
$f: 按浮点型

/*
$var = 10;
printf('整型:%d<br>', $var);
printf('浮点型:%.2f<br>', $var); // 保留两位小数
printf('字符串:%s<br>', $var);
printf('二进制:%b<br>', $var);
printf('八进制:%o<br>', $var);
printf('十六进制:%x<br>', $var);
 
// 打印结果
/*
整型:10
浮点型:10.00
字符串:10
二进制:1010
八进制:12
十六进制:a
*/

sprintf

sprintf不能直接输出变量值,而是直接将值读取给指定的变量:

$ret = sprintf('%.2f', $var);
echo "结果:{$ret}<br>";

这个函数用于格式化变量输出是非常有用的,使用也很多!

print_r

print_r这个函数用于输出数组,带一个或者两个。如果参数二设置为YES,则不会输出表达式信息,而是直接return回来:

mixed print_r ( mixed $expression [, bool $return = false ] )

$arr = array('name' => '标哥的技术博客', 'site' => 'www.huangyibiao.com');
print_r($arr);
echo '<br>';
 
// 参数二设置为true则不会打印,而是直接返回
$arr1 = print_r($arr, true);
echo "{$arr1}<br>";

var_dump

var_dump这个函数在调试过程中使用最多了吧,用于输出变量的内容、类型、字符串的内容,常用于开发中调试使用:

// 当打印的是字符串,其中有对象时,打印出来是:
// string(20) "var_dump:Array
var_dump('var_dump:' . $arr . '<br>');
 
// 当只有对象本身时,打印出来如下:
// " array(2) { ["name"]=> string(21) "标哥的技术博客" ["site"]=> string(19) "www.huangyibiao.com" }
var_dump($arr);

die

die函数使用也是很广泛的,在调试过程中,经常会中断下面的执行,它会先输出内容,然后退出程序或者不输出内容:

if (!isset($type)) {
 die('I am die!<br>');
}

总结:

以上函数都可以打印对象的值、系统函数值以及数组的内容;
 echo 、print、printf可以打印变量内容,但不能显示数组及系统超级变量数组;
 print_r 和 var_dump不仅可以打印数组、标量变量,还可以打印对象的内容;
 var_dump语句不仅能打印变量、数组内容,还可以显示布尔变量和资源(resource)的内容;
 var_export 函数返回关于传递给该函数的变量的结构信息,和 var_dump()函数类似,不同的是其返回的内容是合法的php代码。

以上就是本文给大家汇总介绍的php中所有的打印输出函数,希望小伙伴们能够喜欢

PHP 相关文章推荐
用PHP将数据导入到Foxmail的实现代码
Sep 05 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
PHP编程风格规范分享
Jan 15 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
PHP中捕获超时事件的方法实例
Feb 12 PHP
PHP中使用curl伪造IP的简单方法
Aug 07 PHP
PHP常用技巧汇总
Mar 04 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP操作Redis常用技巧总结
Apr 24 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 #PHP
PHP常用的三种设计模式汇总
Aug 28 #PHP
Apache PHP MySql安装配置图文教程
Aug 27 #PHP
php微信开发接入
Aug 27 #PHP
php微信开发自定义菜单
Aug 27 #PHP
PHP7新特性foreach 修改示例介绍
Aug 26 #PHP
简单的自定义php模板引擎
Aug 26 #PHP
You might like
一个颜色轮换的简单例子
2006/10/09 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
php使用codebase生成随机数
2014/03/25 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
django实现后台显示媒体文件
2020/04/07 Python
利用python进行文件操作
2020/12/04 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
《我的信念》教学反思
2014/02/15 职场文书
不错的求职信范文
2014/07/20 职场文书
运动会加油稿
2015/07/22 职场文书
培训心得体会怎么写
2016/01/25 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang