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下正则来匹配dede模板标签的代码
Aug 21 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
PHP中redis的用法深入解析
Feb 20 PHP
php中ob_flush函数和flush函数用法分析
Mar 18 PHP
thinkPHP3.2简单实现文件上传的方法
May 16 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
PHP高并发和大流量解决方案整理
Dec 24 PHP
禁止直接访问php文件代码分享
May 05 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
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
简单的php文件上传(实例)
2013/10/27 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
jquery text()要注意啦
2009/10/30 Javascript
javascript处理table表格的代码
2010/12/06 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
Zabbix实现微信报警功能
2016/10/09 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Django 路由控制的实现代码
2018/11/08 Python
Python实现多属性排序的方法
2018/12/05 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
python 操作hive pyhs2方式
2019/12/21 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
九年级历史教学反思
2014/01/27 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
十佳少年事迹材料
2014/12/25 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
债务追讨律师函
2015/06/24 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python