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获取网络上文件
Oct 09 PHP
PHP+MYSQL开发工具及资源收藏
Jan 02 PHP
PHP array 的加法操作代码
Jul 24 PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
php中AES加密解密的例子小结
Feb 18 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
php开发工具有哪五款
Nov 09 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
PHP 类与构造函数解析
Feb 06 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
PHP7 windows支持
Mar 09 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面向对象概念
2011/11/06 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
bootstrap datetimepicker控件位置异常的解决方法
2017/11/23 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
2018/09/13 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
python如何从文件读取数据及解析
2019/09/19 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
详细分析Python垃圾回收机制
2020/07/01 Python
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
Java servlet面试题
2012/03/04 面试题
毕业生求职自荐书范文
2014/03/27 职场文书
安全教育演讲稿
2014/05/09 职场文书
关于运动会的口号
2014/06/07 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
针对吵架老公保证书
2015/05/08 职场文书
户外拓展训练感想
2015/08/07 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
关于的python五子棋的算法
2022/05/02 Python