博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP:echo、print、print_r() 和 var_dump()
阅读量:6935 次
发布时间:2019-06-27

本文共 1270 字,大约阅读时间需要 4 分钟。

PHP:echo、print、print_r 和 var_dump

echo 和 print

echoprint 都不是函数,而是 语言结构,所以圆括号都不是必需的。两者十分相似,功能几乎是完全一样。

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

参考

转载地址:http://sibnl.baihongyu.com/

你可能感兴趣的文章
应用缓存
查看>>
【二分答案】【最大流】bzoj1305 [CQOI2009]dance跳舞
查看>>
【AC自动机】【矩阵乘法】【等比数列】hdu2243 考研路茫茫——单词情结
查看>>
【动态规划】bzoj1270 [BeijingWc2008]雷涛的小猫
查看>>
Centos中IP与DNS手动设置方法
查看>>
ISO镜像安装UbuntuKylin 13.04 64位,启动菜单制作实例
查看>>
安装包制作工具 SetupFactory 详解
查看>>
HDU 1232 - 畅通工程
查看>>
【BZOJ】3224: Tyvj 1728 普通平衡树
查看>>
微服务之swagger
查看>>
Redis数据库
查看>>
html5 Canvas绘制图形入门详解
查看>>
ASP.NET 5中的静态文件处理
查看>>
Queue的简单实现
查看>>
js数组转字符串
查看>>
ssm中返回中文字符串时出现乱码?
查看>>
【评分】第二次作业——个人项目实战
查看>>
javascript实现页面跳转
查看>>
servlet和filter初始化
查看>>
设为首页 添加收藏
查看>>