成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何在PHP中使用sprintf函數(shù)-創(chuàng)新互聯(lián)

本篇文章為大家展示了如何在PHP中使用sprintf函數(shù),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的蘭州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

sprintf()函數(shù)在php官方是說把字符串格式化輸出了,本文就來給各位朋友介紹一下在學習sprintf()函數(shù)時的一些經(jīng)驗分享,希望能給大家?guī)韼椭?


PHP函數(shù) sprintf() 函數(shù)官方定義為:sprintf():把格式化的字符串寫入一個變量中

語法為:sprintf(format,arg1,arg2,arg++);

參數(shù):

format:必須,轉(zhuǎn)換格式

arg1 :必須,規(guī)定插入 format 字符串中第一個%符號處的參數(shù)

arg1 :可選,規(guī)定插入 format 字符串中第二個%符號處的參數(shù)

arg1++:可選,規(guī)定插入 format 字符串中第三、四等%符號處的參數(shù)

參數(shù) format 的轉(zhuǎn)換格式,以百分比符號(%)開始到轉(zhuǎn)換字符結(jié)束,下面是有可能的format值.

%% – 返回百分比符號

%b – 二進制數(shù)

%c – 依照 ASCII 值的字符

%d – 帶符號十進制數(shù)

%e – 可續(xù)計數(shù)法(比如 1.5e+3)

%u – 無符號十進制數(shù)

%f – 浮點數(shù)(local settings aware)

%F – 浮點數(shù)(not local settings aware)

%o – 八進制數(shù)

%s – 字符串

%x – 十六進制數(shù)(小寫字母)

%X – 十六進制數(shù)(大寫字母)

下面是一些demo,代碼如下:


復制代碼 代碼如下:

// 1. %% :把 %% 替換成 % 
$str = '測試一下 %% 這個參數(shù),會被替換成什么'; 
echo sprintf($str); 
//返回結(jié)果: 測試一下 % 這個參數(shù),會被替換成什么(%%被替換成一個%)

// 2. %b :該參數(shù)只能替換整型數(shù)據(jù),如果是浮點型,只會取整數(shù)部分,會忽略小數(shù)點后面的數(shù)據(jù)。如果是非整型數(shù)據(jù)。返回 0 
$str = '參數(shù) %b 會替換成二進制數(shù)'; 
$arg = '10'; 
echo sprintf($str,$arg); 
//返回結(jié)果:參數(shù) 1010 會替換成二進制數(shù) 
$arg = 10.23; 
echo sprintf($str,$arg); 
//返回結(jié)果:參數(shù) 1010 會替換成二進制數(shù) 
$arg = 'abc'; 
echo sprintf($str,$arg); 
//返回結(jié)果:參數(shù) 0 會替換成二進制數(shù)

// 3. %c 返回字符編碼的ASCII碼 
$arg = 65; 
$str =  "數(shù)字 {$arg} 對應(yīng)的ASCII碼為 %c "; 
echo sprintf($str,$arg); 
//返回結(jié)果:數(shù)字 65 對應(yīng)的ASCII碼為 A 
 
// 4. %d 將一段字符里的%d替換成int型,數(shù)據(jù)要求同 $b 相同 
$str = 'ID號為 %d '; 
$arg = -3; 
echo sprintf($str,$arg); 
//返回結(jié)果:ID號為 -3 
$arg = 4.5; 
echo sprintf($str,$arg); 
//返回結(jié)果:ID號為 4 
$arg = 'abc'; 
echo sprintf($str,$arg); 
//返回結(jié)果:ID號為 0 
 
// 5. %s - 字符串 
$str = "這是用來測試的sprintf的字符串( %s )。今天消費了%f元。從鐘樓到小寨有%d站。上班"; 
$arg = '%s'; 
echo sprintf($str,$arg,6,5); 
//返回結(jié)果:這是用來測試的sprintf的字符串( %s )。今天消費了6.000000元。從鐘樓到小寨有5站。上班
至于其它的參數(shù),大家可以試著測試一下.

下面說一下這個函數(shù)的一些用途,比如我們在對一張數(shù)據(jù)表所有數(shù)據(jù)做多個字段更新時,如果使用循環(huán)更新的話,那是很耗費資源的,這里就要用到我們sprintf()函數(shù)了.

在數(shù)據(jù)庫批量更新時,我一般采用 case then when end 的語法來做,基本語法如:


復制代碼 代碼如下:

UPDATA table 
    SET field = CASE id 
        WHEN 1 THEN 'value1' 
        WHEN 2 THEN 'value2' 
        WHEN 3 THEN 'value3' 
    END 
WHERE id IN (1,2,3)


上面的意思就是說,更新 table 設(shè)置 id = 1 的值為 value1, id = 2 的值為 value2 ,id = 3 的值為 value3,這樣參數(shù)上面的函數(shù)將sql語句結(jié)合成這樣SQL語句,只需一條SQL就可以進行批量更新,具體的方法為:


復制代碼 代碼如下:

//比如 id 對應(yīng)的值為以下數(shù)組 
$info = array(1=>'張三',2=>'李四',3=>'王五'); 
$ids = implode(',',array_keys($info)) //獲取所有的ID字符串 
//組合SQL 
$sql = "UPDATA user SET username = CASE id"; 
foreach($info as $id=>$username){ 
     $sql .= sprintf("WHEN %d THEN %s",$id,$username); 

$sql .= "END WHERE id IN ($ids)"; 
// $model->query($sql)

上面就可以完成批量更新的操作,后面的 where子句確保只有3行數(shù)據(jù)執(zhí)行.

上述內(nèi)容就是如何在PHP中使用sprintf函數(shù),你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站欄目:如何在PHP中使用sprintf函數(shù)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://jinyejixie.com/article24/csheje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、定制開發(fā)、建站公司網(wǎng)站策劃、ChatGPT、面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
恩平市| 嵊州市| 汉阴县| 麻江县| 永和县| 永吉县| 营口市| 左贡县| 左贡县| 鄄城县| 新野县| 嘉义县| 仁寿县| 浙江省| 竹北市| 颍上县| 湟源县| 芮城县| 威远县| 栾城县| 开平市| 晴隆县| 拉萨市| 彭水| 长治县| 綦江县| 云安县| 横山县| 两当县| 米泉市| 新龙县| 宝丰县| 分宜县| 化德县| 景泰县| 沽源县| 甘德县| 乌兰县| 偃师市| 苏尼特左旗| 平顶山市|