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来检测proxy
Oct 09 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
Jun 25 PHP
php中的比较运算符详解
Oct 28 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
php中文字符串截取多种方法汇总
Oct 06 PHP
php微信公众号开发模式详解
Nov 28 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 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基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
php常用图片处理类
2016/03/16 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
JSONP 跨域共享信息
2012/08/16 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
C#可否对内存进行直接的操作
2015/02/26 面试题
绘画专业自荐信范文
2014/02/23 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
社团活动总结怎么写
2014/06/30 职场文书
领导欢迎词致辞
2015/01/23 职场文书
花田少年史观后感
2015/06/16 职场文书
感恩教师主题班会
2015/08/12 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android