设为首页 收藏本站
查看: 646|回复: 0

[经验分享] php中print_r、var_dump和var_export几个函数的用法区别

[复制链接]

尚未签到

发表于 2017-4-13 10:06:42 | 显示全部楼层 |阅读模式
  、print_r ( $array/$var ) 
print 是打印的意思,而r则取自Array的单词,那么该函数的功能就是打印数组内容,它既可以打印数组内容,也可以打印普通的变量。 
print_r ($_REQUEST) ; 
print_r ($_GET) ; /* 打印使用GET方法传递的表单内容*/ 
print_r($_POST) ; /* 打印使用表单POST方法传递过的数组内容*/ 
2、 var_dump ($object/$array/$var) 
var 代表变量(Variable),变量包括对象、数组以及标量变量,dump有倒出之意,加在一块,就是将变量或对象的内容全部输出出来。 
var_dump($DB) ; /*打印$DB数据库连接对象的内容*/ 
var_dump($fileHandle) ; /*打印文件句柄对象的内容*/ 
var_dump($Smarty) ; /*打印Smarty模板对象*/ 
3、 var_export($object/$array/$var) 
输出或返回一个变量的字符表示。此函数返回关于传递给函数的变量的结构信息,它和print_r()类似,不同的是其返回的表示是合法的PHP代码。可以通过将函数的第二个参数设置为TRUE,从而返回变量的表示。 
看下面代码: 
<?php 
$a = array (1,2, array("a","b","c")) ; 
var_export ($a) ; 
echo "<br>" ; 
$v = var_export ($a , TRUE) ; 
echo $v ; 
?> 
上例中,$v = var_export ( $a , TRUE) 表示返回的是PHP的源代码,可以直接用PHP脚本的数组文件中。 
总结说明: 
以上三个函数都可以打印对象的值、系统函数值以及数组的内容; 
1、 echo 、print、printf可以打印变量内容,但不能显示数组及系统超级变量数组; 
2、 print_r 和 var_dump不仅可以打印数组、标量变量,还可以打印对象的内容; 
3、 var_dump语句不仅能打印变量、数组内容,还可以显示布尔变量和资源(Resource)的内容; 
4、var_export 函数返回关于传递给该函数的变量的结构信息,和 var_dump()函数类似,不同的是其返回的内容是合法的PHP代码。
  php中echo和print的用法区别. 
echo的说明: 
echo可以同时输出多个字符串,并不需要圆括号; 
echo更象一条语句; 
推荐用echo; 
<?php 
echo '等等,我还没有写完哪。此处接上面的。'; 
?> 
echo() 无返回值,与echo 命令相同 ; 
echo可以多个参数,echo无返回值。 

print的说明: 
print只可以同时输出一个字符串,需要圆括号。  
print 是函数 ; 
print的用法和C语言很像,所以会对输出内容里的%做特殊解释;  
没多大区别,就是一个函数,一个是命令。 
print 还可以这样用  
<? 
print <<<dND 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>php自学网</title> 
</head> 
<body> 
</body> 
</html> 
dND 
?> 
这样可以输出大段的HTML 而且不用把里面的引号转义 就是不用 " 这样  
自动替换里面的变量 
print一个参数, print有,ture,1;false,0。 
区别细节: 
echo 命令和 print 命令 相同,没有区别 ; 
echo 函数 和 print 函数 有区别; 
print() 有返回值,当其执行失败(比如断线)时返回flase ; 
printf() 和 sprintf() 类似,均为格式化输出,不同的是前者输出到标准输出,后者输出到变量 。 
在同一页面中使用<<<标记,标记名为配对出现,同一页面中不允许同名出现两个以上标记名。配对标记名的结尾标记名应单独一行,前后均不允许输出字符...(例如空格等不可见但存在的字符..) 。 
形如 
echo <<< EOT  
EOT;  
print <<< EOT  
EOT;  
的书写格式,其含义如下:  
<<< 运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理  
EOT 自定义分界符,结束时必须位于行首

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-364285-1-1.html 上篇帖子: php与C语言通过AF_UNIX来进行IPC通信的例子 下篇帖子: PHP类实例教程(十五):final类、final方法和常量
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表