最近面試的筆試過程當中常常遇到同一題就是:分別說出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,將會按照必定格式顯示鍵和元素。
上面寫的比較多(爲了你們能看懂),你能夠根據本身的理解用本身的語言來描述它們的不一樣和用處。
但願這些能對你們有用。