php echo, print, print_r, sprintf, var_dump, var_expor的使用区别


Posted in PHP onJune 20, 2013

/*******echo********/
echo— 输出一个或多个字符串
描述
echo ( string arg1 [, string ...] )
echo()实际上不是一个函数(它是一个语言结构),所以您不需要使用括号。echo()的(不同于其他一些语言构造)并不像一个功能,所以它不能总是在函数中使用。此外,如果你想传递多个参数的echo(),参数必须不被括在括号内。
echo()是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开,如:
echo $myvar1;
echo 1,2,$myvar,”bold”;

/*******print********/
print— 输出一个或多个字符串
描述
int print ( string arg )
print()是实际上没有一个真正的函数(它是一个语言结构),所以你并不需要使用它的参数列表的括号。
 可以返回一个值,只能有一个参数

/*******print_r()********/
 print_r
(PHP 4, PHP 5)
print_r ?  打印关于变量的易于理解的信息。
描述
bool print_r ( mixed expression [, bool return] )
注: 参数 return 是在 PHP 4.3.0 的时候加上的
print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
<pre>
<?php
    $a = array (‘a' => ‘apple', ‘b' => ‘banana', ‘c' => array (‘x','y','z'));
    print_r ($a);
?>
</pre>
上边的代码将输出: <pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>
如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出。
例子 1. return 参数示例
<?php
    $b = array (‘m' => ‘monkey', ‘foo' => ‘bar', ‘x' => array (‘x', ‘y', ‘z'));
    $results = print_r ($b, true); //$results 包含了 print_r 的输出结果
?>

注: 如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的输出,可使用输出控制函数。
注: 在 PHP 4.0.4 之前的版本中,如果给出的 array 或 object 包含了直接或间接指向自身的引用,print_r() 将永远继续下去。print_r($GLOBALS) 就是一个例子,因为 $GLOBALS 自身即是全局变量,其包含了指向自身的引用。
 /*******sprintf()********/

/*******var_dump()********/
var_dump
(PHP 3 >= 3.0.5, PHP 4, PHP 5)
var_dump — 打印变量的相关信息
描述
void var_dump ( mixed expression [, mixed expression [, ...]] )
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
提示: 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中。

/*******var_export()********/
var_export
(PHP 4 >= 4.2.0, PHP 5)
var_export — 输出或返回一个变量的字符串表示
描述
mixed var_export ( mixed expression [, bool return] )
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值
 但是, 当变量类型为resource的时候, 是无法简单copy复制的,所以, 当var_export的变量是resource类型时, var_export会返回NULL

$res = fopen('status.html', 'r');
var_dump($res); //resource(2) of type (stream)
var_export($res); //NULL

您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
<pre>
<?php
$a = array (1, 2, array (“a”, “b”, “c”));
var_export ($a);
/* 输出:
array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => ‘a',
    1 => ‘b',
    2 => ‘c',
  ),
)
*/
$b = 3.1;
$v = var_export($b, TRUE);
echo $v;
/* 输出:
3.1
*/
?>
</pre>
PHP 相关文章推荐
PHP数组交集的优化代码分析
Mar 06 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
组合算法的PHP解答方法
Feb 04 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
详解Window7 下开发php扩展
Dec 31 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
php伪静态验证码不显示的解决方案
Sep 26 PHP
php Xdebug的安装与使用详解
Jun 20 #PHP
解析phpstorm + xdebug 远程断点调试
Jun 20 #PHP
hadoop中一些常用的命令介绍
Jun 19 #PHP
hadoop常见错误以及处理方法详解
Jun 19 #PHP
php常用Output和ptions/Info函数集介绍
Jun 19 #PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 #PHP
php无限分类且支持输出树状图的详细介绍
Jun 19 #PHP
You might like
php多用户读写文件冲突的解决办法
2013/11/06 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
JQUBar 基于JQUERY的柱状图插件
2010/11/23 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
使用layui实现树形结构的方法
2019/09/20 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Python中运算符&quot;==&quot;和&quot;is&quot;的详解
2016/10/08 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
应届生求职信范文
2014/05/26 职场文书
干部对照检查材料范文
2014/08/26 职场文书
如何写早恋检讨书
2014/09/10 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
党支部对转正的意见
2015/06/02 职场文书
开工典礼致辞
2015/07/29 职场文书
诚实守信主题班会
2015/08/13 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis
分享3个非常实用的 Python 模块
2022/03/03 Python