最近面试的笔试过程当中常常遇到同一题就是:分别说出echo、print()、print_r()、printf()、sprintf 的区别。
刚开始以为真的挺没劲的这题,不就是个输出吗?有必要总考吗?今天却被一个考官考住了。(他的概念性知识真的够多)
费话很少说,下面就给你们答案(知道的朋友别不耐烦,笔试你不必定能准确写出答案):
echo() :用于输出一个或多个字符串,echo() 实际上不是一个真正的函数,它是PHP的语言结构也就是PHP的语句(语句没有返回值)。
print():该函数功能和echo()同样,不一样的是print()有返回值。成功返回 1 ,失败则返回 0 。
printf():该函数是用于输出格式化的字符。
sprintf():该函数有用法和printf()的格式同样,但sprintf()不是输出字符串,而是将格式化的字符串以返回值的形式写入到一个变量中。
print_r():能够打印出复杂类型变量的值(如数组,对象),若是给出的是 string、integer 或 float,将打印变量值自己。若是给出的是 array,将会按照必定格式显示键和元素。
上面写的比较多(为了你们能看懂),你能够根据本身的理解用本身的语言来描述它们的不一样和用处。
但愿这些能对你们有用。