PHP:echo、print、print_r() 和 var_dump()
PHP:echo、print、print_r 和 var_dump
echo 和 print
echo
和 print
都不是函数,而是 语言结构,所以圆括号都不是必需的。两者十分相似,功能几乎是完全一样。
1、echo 可以输出多个字符串,使用 ,
连接
echo 'a','b','c';
输出:abc
如果你非要加上圆括号,需要注意
echo ('a','b','c'); //错误
echo ('a'),('b'),('c'); //正确
2、print 只能输出一个字符串
print 'a','b','c'; //错误
print 'abc'; //正确
print 'a'.'b'.'c'; //正确
注意:上面的 'a'.'b'.'c'
并不是多个字符串,而是 PHP 中拼接(concat)多个字符串后的一个字符串。
3、echo 没有返回值,print 有返回值 1
因此 print 能用在表达式中:
$ret = print 'abc';
echo $ret + 1;
输出:abc2
4、echo 输出的速度比 print 快
print_r() 和 var_dump()
print_r()
显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
print_r()
会舍弃掉小数位末尾的 “0”;布尔值 true 输出 1,false 不输出;空字符串 和 null 不输出。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
var_dump()
方法是判断一个变量的类型与长度,并输出变量的值和数据类型。var_dump()
输出比 print_r()
更详细,一般调试时用得多。两者区别如下:
$arr = array(5, 5.0, 'hello', '', true, false, null);
var_dump($arr);
print_r($arr);
输出:
array(7) {[0]=>int(5)[1]=>float(5)[2]=>string(5) "hello"[3]=>string(0) ""[4]=>bool(true)[5]=>bool(false)[6]=>NULL
}
Array
([0] => 5[1] => 5[2] => hello[3] => [4] => 1[5] => [6] =>
)
题外:如果想捕捉 print_r()
的输出,可添加一个 true 参数。此时 print_r()
将不打印结果,而是返回其输出。
$str = "hello";
$result = print_r($str, true);
echo $result;
输出:hello
参考
php.net: print_r
stackoverflow: What's the difference between echo, print, and print_r in PHP?
PHP:echo、print、print_r() 和 var_dump()相关推荐
- php print r用法,php中echo(),print(),print_r()用法
从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但print_r可以打印数组而前两者是不可以的,下面我来详细介绍它们三个 ...
- php中的print r与echo,php中echo(),print(),print_r()的区别
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值(如int,string) print_r() ...
- print_r php encode,详细介绍PHP在调试时echo print() print_r() var_dump()的区别分享
echo 输出一个或多个值(字符串),多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用. 函数print()打印一个 ...
- echo(),print(),print_r(),var_dump()的区别
echo可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用.echo是php的内部指令,不是函数, ...
- php r echo_PHP中echo(),print(),print_r()的区别是什么?
四种方法可以输出字符串. echo print() printf() print_r() echo 可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct) ...
- PHP中echo(),print(),print_r()的区别是什么?
四种方法都可以输出字符串. echo print() printf() print_r() 1 echo 可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language constru ...
- php 打印函数(echo , print, printf, print_f, var_dump)
概要 了解php打印函数种类,简单实用以及功能区别 总结各个打印函数的实用场景以及相关最佳实践 函数介绍 1. echo echo用于输出一个或者多个字符串, 不换行 如果输出对象非字符串,会尝试将对 ...
- php echo,print,print_r,var_dum的区别
特点 echo() 可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因不能作为表达式的一部分使用. print() 函数pri ...
- PHP语言的输出命令是,PHP echo、print、print_r、var_dump输出语句
文章目录 前言一.PHP输出语句echo二.PHP输出语句print三.PHP输出语句print_r四.PHP输出语句var_dump五.总结 前言 PHP的输出语句常见的有echo,print,pr ...
最新文章
- Python 计算Mesh顶点法向量
- 操作系统:用户态和核心态的区别
- 怎么创建数据表的实体类和业务类_怎样创建一个网站?
- ACM Fellow发文抨击【同行评审】作弊轻松中顶会
- Django 【第十九篇】JS实现的ajax、同源策略和前端JSONP解决跨域问题
- 变与不变: Undo构造一致性读的例外情况
- 1复数与复变函数(一)
- 西部数码服务器自动备份,西部数码-云服务器
- 计算机基础雨课堂答案,基于“雨课堂”助推大学计算机基础课革新
- JavaMail使用阿里云企业版邮箱发送邮件
- 平板连接远程Linux,如何从Android平板电脑远程控制Ubuntu | MOS86
- JUL、JCL、Log4j、Slf4j各种日志框架的使用
- 创始人李卉:麦客CRM2.0核心逻辑及其背后的思考
- 对象含有与成员函数不兼容的类型限定符
- Altium 拖动已布线的双排焊盘
- Evil Corp 团伙开始使用 LockBit Ransomware 逃避制裁
- 用python画路飞代码_python 全栈开发,Day105(路飞其他数据库表结构,立即结算需求)...
- 计算机有哪些值得参加的比赛
- MyBatis逆向工程去除表名前缀
- Cisco ❀ MPLS中的路由器角色
热门文章
- memmove, memcpy 的mem魔法
- linux网络配置答案,Linux网络配置与管理作业3答案.doc
- pythonshellnohup_python nohup 实现远程运行不宕机操作
- FPGA之道(72)提高设计的综合性能(四)提高设计的移植性与保密性
- FPGA之道(58)关于外界接口的编程思路
- Activiti工作流从入门到入土:工作流简介
- hdoj1175 连连看(dfs+剪枝)
- 眉目传情之匠心独运的kfifo【转】
- mysql 监控工具
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring获取context...