记得学长说,面试必考的题有两道经典题。是:php是什么?全写是什么?还有道题是解释echo、print、print_r、var_dump的区别,听起来简单,写对的却很少。
大神们怎么解说“打印”
echo()
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
print()
print()输出字符串。print() 实际上不是一个函数(它是一个语言结构)所以不能被可变函数调用,因此你可以不必使用圆括号来括起它的参数列表。
print_r()
可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
var_dump()
判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
这是面试标准答案啊!
让我们看看他们的关系
输出结果:
都能输出普通数字、字符、字符串。var_dump()输出的带着变量类型。
echo无法返回返回任何值!var_dump()不返回任何值。print()和print_r()返回1.
输出:
致命的“打击”来了,看到了吗?怀疑人生?
echo、print无法打印数组!
print无法打印,且返回1
print_r()打印成功告诉你这是数组且返回1
var_dump()打印成功告诉你这是数组,还告诉你数组有几个元素不返回任何东西!
这是面试题,牢记!也是以后编程的基础,c语言也有格式化打印print()函数,不要到时候混淆了。
不知道细心的你是不是看出来,print_r()和var_dump()的颜色不同啊。
第一个面试题呢?大家百度吧,算是课后作业。
注意
本教程允许自由转载,不受版权约束。如果您很感激学姐,请申明转自学姐的头条号。
今天课程就此结束,下节课再见。想学习的同学关注小编,日积月累成就PHP大神!