佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > PHP中的輸出echo、print、printf、sprintf、print_r和var_dump的示例代碼

PHP中的輸出echo、print、printf、sprintf、print_r和var_dump的示例代碼

熱門標(biāo)簽:電子圍欄 團(tuán)購網(wǎng)站 銀行業(yè)務(wù) 科大訊飛語音識(shí)別系統(tǒng) Linux服務(wù)器 阿里云 Mysql連接數(shù)設(shè)置 服務(wù)器配置

大家在面試中,經(jīng)常會(huì)被問到的問題:

請(qǐng)簡(jiǎn)要說明PHP的打印方式都有哪些?

或者直接點(diǎn)問:

請(qǐng)說明echo、print、print_r的區(qū)別

看著很簡(jiǎn)單,一般會(huì)出現(xiàn)在初中級(jí)的筆試題中。但是要真正說明白這些語言結(jié)構(gòu)或者函數(shù)也不是那么簡(jiǎn)單的事情。今天我們就來好好看看這些打印輸出相關(guān)的內(nèi)容。

echo

最基礎(chǔ)的輸出語句,不是函數(shù)是語言結(jié)構(gòu),不需要括號(hào)??梢允褂脜?shù)列表,用逗號(hào)分隔。但如果加了括號(hào)就不能用逗號(hào)分隔著輸出了。沒有返回值。

echo 'fullstackpm'; // 正常輸出:fullstackpm
echo 'fullstackpm', ' is ', 'Good!'; // 正常輸出:fullstackpm is Good!
echo ('fullstackpm'); // 正常輸出:fullstackpm
echo ('fullstackpm', ' is ', 'Good!'); // 報(bào)錯(cuò)了

print

基本和echo一樣,但是不支持參數(shù)列表,有返回值。返回值永遠(yuǎn)是1。

因?yàn)橛蟹祷刂担韵鄬?duì)來說效率不如echo

print 'fullstackpm'; // 正常輸出:fullstackpm
print 'fullstackpm', ' is ', 'Good!'; // 錯(cuò)誤
$r = print ('fullstackpm'); // 正常輸出:fullstackpm
print $r; // 輸出1

printf和sprintf

兩個(gè)很高大上的函數(shù),可以格式化輸出字符串。用%標(biāo)明占位符,后面的參數(shù)對(duì)應(yīng)進(jìn)行占位符的替換。printf和sprintf的區(qū)別就是前者直接進(jìn)行了輸出,而后者是將字符串進(jìn)行了函數(shù)返回。請(qǐng)看實(shí)例。

$str = 'My name is %s, I\'m %d years old.';
printf($str, 'fullstackpm', 1002); // 直接輸出:My name is fullstackpm, I'm 1002 years old.

$s = sprintf($str, 'WoW', 12); // 這里不會(huì)輸出
print $s; // 輸出:My name is WoW, I'm 12 years old.

你最少要記住的,%s代表字符串,%d代表數(shù)字,%f是浮點(diǎn)數(shù),%%是輸出%本身,其他還有許多類型可以查看相關(guān)文檔。另外還有類似的幾個(gè):

  • vprintf,他的第二個(gè)參數(shù)是一個(gè)數(shù)組,不是可變長(zhǎng)度的參數(shù)。
  • sscanf,對(duì)于一些特殊字符處理方式不同。
  • fscanf,從文檔中讀取并進(jìn)行格式化。

print_r

非常常用的一個(gè)函數(shù),可以格式化的輸出數(shù)組或?qū)ο蟆W⒁獾诙€(gè)參數(shù)設(shè)置為true,可以不直接輸出而是進(jìn)行函數(shù)返回。

$str = [
  "a",
  1 => "b",
  "3" => "c",
  "show"=>'d'
];

print_r($str)
// 輸出
/**
  Array
  (
    [0] => a
    [1] => b
    [3] => c
    [show] => d
  )
*/

$s = print_r($str, true); // 此處不會(huì)輸出
echo $s;
// 輸出
// 注意,輸出流不在ob_start()中,測(cè)試本段請(qǐng)不要有其他任何輸出
/**
  Array
  (
    [0] => a
    [1] => b
    [3] => c
    [show] => d
  )
*/

var_dump和var_exports

var_dump也是非常常用的一個(gè)函數(shù),用來顯示結(jié)構(gòu)信息,包括類型與值,數(shù)組對(duì)象都會(huì)展開,用縮進(jìn)表示層次。var_exports與之不同的地方在于var_exports返回的內(nèi)容是正常的PHP代碼,可以直接使用,并且有和print_r類似的第二個(gè)return參數(shù),作用也類似。

$str = [
  "a",
  1 => "b",
  "3" => "c",
  "show"=>'d'
];

var_dump($str);
// 輸出
/**
  array(4) {
   [0] =>
   string(1) "a"
   [1] =>
   string(1) "b"
   [3] =>
   string(1) "c"
   'show' =>
   string(1) "d"
  }
*/

var_export($str);
// 輸出
/**
  array (
   0 => 'a',
   1 => 'b',
   3 => 'c',
   'show' => 'd',
  )
*/

到此這篇關(guān)于PHP中的輸出echo、print、printf、sprintf、print_r和var_dump的示例代碼的文章就介紹到這了,更多相關(guān)PHP輸出echo、print、printf、sprintf、print_r和var_dump內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • php輸出echo、print、print_r、printf、sprintf、var_dump的區(qū)別比較
  • php echo, print, print_r, sprintf, var_dump, var_expor的使用區(qū)別
  • php常用字符串輸出方法分析(echo,print,printf及sprintf)
  • PHP echo,print,printf,sprintf函數(shù)之間的區(qū)別與用法詳解
  • PHP學(xué)習(xí)之輸出字符串(echo,print,printf,print_r和var_dump)

標(biāo)簽:棗莊 蚌埠 衡水 江蘇 廣元 萍鄉(xiāng) 大理 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP中的輸出echo、print、printf、sprintf、print_r和var_dump的示例代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    凌云县| 红原县| 刚察县| 综艺| 特克斯县| 乌什县| 海丰县| 承德县| 绵阳市| 锡林浩特市| 皮山县| 绩溪县| 阿坝县| 海兴县| 安图县| 荥阳市| 潼关县| 温泉县| 延边| 北票市| 三门峡市| 屏山县| 林州市| 黑水县| 博爱县| 太和县| 赣州市| 荃湾区| 瓮安县| 巩义市| 灌云县| 新巴尔虎右旗| 房山区| 济源市| 龙游县| 新田县| 南投市| 化州市| 乐至县| 施秉县| 合水县|