国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP中字符串拼接,sprintf和直接拼接相比有什么優(yōu)勢(shì)/劣勢(shì)嗎?
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-04-10 13:12:39
0
2
863

這個(gè)問(wèn)題有沒(méi)有最佳實(shí)踐?或者你的代碼過(guò)程中是如何選擇的?

個(gè)人覺得sprintf的類C printf語(yǔ)法更簡(jiǎn)潔

PHP中文網(wǎng)
PHP中文網(wǎng)

認(rèn)證高級(jí)PHP講師

reply all(2)
Peter_Zhu
  • 概念上不同,“.”是操作符,跟加減運(yùn)算是一個(gè)級(jí)別的,“sprintf”則是函數(shù)
  • 以我做了6年的lotusphp框架為例,點(diǎn)操作符在150多個(gè)文件中有使用,sprintf則只在5個(gè)文件中用到了

使用場(chǎng)景上,sprintf是有如下優(yōu)勢(shì)(功能方面的):

  1. 輸出特殊的格式。如無(wú)符號(hào)整數(shù),參見案例:https://code.google.com/p/lotusphp/so...(第109行);再如,輸出時(shí)字串前(或者后)補(bǔ)齊空格或者0,參見官方文檔:http://cn2.php.net/sprintf(example 7)
  2. 多個(gè)變量合成新字串,變量在新字串中的位置是傳入的參數(shù)定義的(而不是你當(dāng)前正在寫的代碼用多個(gè)點(diǎn)操作符定義的)。參考案例:https://code.google.com/p/lotusphp/so...(83行)
  3. 定義好一個(gè)新字符串模板后需要多次根據(jù)這個(gè)模板合成字串。如果用點(diǎn)操作符就會(huì)產(chǎn)生冗余代碼。參考案例(這個(gè)案例中有字串模板,但沒(méi)有多次調(diào)用,你可以自行想象):https://code.google.com/p/lotusphp/so...

sprintf的劣勢(shì)就是不如點(diǎn)操作符簡(jiǎn)單,例如,echo 'hello' . $_GET["username"]; include $ROOT_PATH . '/lib/db.class.php';這樣的語(yǔ)句,我想沒(méi)什么人會(huì)化簡(jiǎn)為繁用sprintf吧。

阿神

特地申請(qǐng)賬號(hào)回答
使用點(diǎn)操作拼接的url無(wú)法在curl中使用,新手容易入坑?。?!

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template