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程序员工具
May 26 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
PHP+jQuery+Ajax实现用户登录与退出
Apr 27 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 PHP
php pdo连接数据库操作示例
Nov 18 PHP
PHP7移除的扩展和SAPI
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
AM/FM收音机的安装与调试
2021/03/02 无线电
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
jquery 批量上传图片实现代码
2010/01/28 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
js实现移动端轮播图
2020/12/21 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
python实现socket客户端和服务端简单示例
2014/02/24 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
python中import学习备忘笔记
2017/01/24 Python
Python实现的简单计算器功能详解
2018/08/25 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python 中如何获取列表的索引
2019/07/02 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
如何用Python徒手写线性回归
2021/01/25 Python
教师节主题班会方案
2015/08/17 职场文书
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS