最近面试的笔试过程中经常遇到同一题就是:分别说出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,将会按照一定格式显示键和元素。
上面写的比较多(为了大家能看懂),你可以根据自己的理解用自己的语言来描述它们的不同和用处。
希望这些能对大家有用。