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中动态显示签名和ip原理
Mar 28 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
PHP用continue跳过本次循环中剩余代码的注意点
Jun 27 PHP
php layui实现前端多图上传实例
Jul 30 PHP
php给数组赋值的实例方法
Sep 26 PHP
thinkphp框架使用JWTtoken的方法详解
Oct 10 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
is_file和file_exists效率比较
Mar 14 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
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
python3.0 字典key排序
2008/12/24 Python
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
Python标准库urllib2的一些使用细节总结
2015/03/16 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Python之父谈Python的未来形式
2016/07/01 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
房产公证书范本
2014/04/10 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
公司联欢会主持词
2015/07/04 职场文书
学生会主席任命书
2015/09/21 职场文书
Python中time与datetime模块使用方法详解
2022/03/31 Python