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 相关文章推荐
mayfish 数据入库验证代码
Apr 30 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
Sep 30 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
9个实用的PHP代码片段分享
Jan 22 PHP
PHP文件读取功能的应用实例
May 08 PHP
php阿拉伯数字转中文人民币大写
Dec 21 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
PHP实现的简单分页类及用法示例
May 06 PHP
yii通过小物件生成view的方法
Oct 08 PHP
PHP new static 和 new self详解
Feb 19 PHP
php防止表单重复提交实例讲解
Feb 11 PHP
PHP执行普通shell命令流程解析
Aug 24 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入门
2006/10/09 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
JS前端笔试题分析
2016/12/19 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
谈谈python中GUI的选择
2018/03/01 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
Pytorch to(device)用法
2020/01/08 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
师范毕业生自我鉴定
2014/01/15 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
成立公司计划书
2014/05/07 职场文书
法人任命书范本
2014/06/04 职场文书
小学体育组工作总结
2015/08/13 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript