微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP中的echo, print, print_r, var_dump, var_export()有什么区别

echo

输出由逗号分隔的一个或多个字符串

没有返回值

例如echo "String 1","String 2"

print

输出一个字符串

返回1,因此可以在表达式中使用

例如print "Hello"

或者,if ($expr && print "foo")

print_r()

输出任何一个人类可读的值

不仅接受字符串,还接受其他类型,包括数组和对象,将它们格式化为可读

调试时很有用

如果给出第二个可选参数,则可以将其输出作为返回值(而不是echo)返回

var_dump()

输出由逗号分隔的一个或多个人类可读表示的值

不仅接受字符串,还接受其他类型,包括数组和对象,将它们格式化为可读

使用不同的输出格式print_r(),例如它还打印值的类型

调试时很有用

没有返回值

var_export()

输出任何一个人类可读和PHP可执行的值

不仅接受字符串,还接受其他类型,包括数组和对象,将它们格式化为可读

使用不同的输出格式都print_r()和var_dump()-输出结果是合法的PHP代码

调试时很有用

如果给出第二个可选参数,则可以将其输出作为返回值(而不是echo)返回

笔记:

即使print可以在表达式中使用,我建议人们避免这样做,因为它对代码可读性有害(并且因为它不太可能有用)。与其他运营商交互时的优先规则也可能令人困惑。因此,我个人没有理由使用它echo。

鉴于echo并且print是语言结构,print_r()和var_dump()/var_export()是常规功能。您不需要括号将参数括起来echo或print(如果您使用它们,它们将被视为在表达式中处理)。

虽然var_export()返回有效的PHP代码允许稍后读取值,但依赖于生成代码可能会因为需要使用而更容易引入安全漏洞eval()。最好使用像JSON这样的格式来存储和读回值。速度可比。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐