本文實例講述了PHP中sprintf函數(shù)的用法。分享給大家供大家參考。具體用法分析如下:
sprintf()函數(shù)在php官方是說把字符串格式化輸出了,本文就來給各位朋友介紹一下在學(xué)習(xí)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 – 二進(jìn)制數(shù)
%c – 依照 ASCII 值的字符
%d – 帶符號十進(jìn)制數(shù)
%e – 可續(xù)計數(shù)法(比如 1.5e+3)
%u – 無符號十進(jìn)制數(shù)
%f – 浮點數(shù)(local settings aware)
%F – 浮點數(shù)(not local settings aware)
%o – 八進(jìn)制數(shù)
%s – 字符串
%x – 十六進(jìn)制數(shù)(小寫字母)
%X – 十六進(jìn)制數(shù)(大寫字母)
下面是一些demo,代碼如下:
// 2. %b :該參數(shù)只能替換整型數(shù)據(jù),如果是浮點型,只會取整數(shù)部分,會忽略小數(shù)點后面的數(shù)據(jù)。如果是非整型數(shù)據(jù)。返回 0
$str = '參數(shù) %b 會替換成二進(jìn)制數(shù)';
$arg = '10';
echo sprintf($str,$arg);
//返回結(jié)果:參數(shù) 1010 會替換成二進(jìn)制數(shù)
$arg = 10.23;
echo sprintf($str,$arg);
//返回結(jié)果:參數(shù) 1010 會替換成二進(jìn)制數(shù)
$arg = 'abc';
echo sprintf($str,$arg);
//返回結(jié)果:參數(shù) 0 會替換成二進(jìn)制數(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ù)據(jù)表所有數(shù)據(jù)做多個字段更新時,如果使用循環(huán)更新的話,那是很耗費資源的,這里就要用到我們sprintf()函數(shù)了.
在數(shù)據(jù)庫批量更新時,我一般采用 case then when end 的語法來做,基本語法如:
上面就可以完成批量更新的操作,后面的 where子句確保只有3行數(shù)據(jù)執(zhí)行.
希望本文所述對大家的PHP程序設(shè)計有所幫助。
新聞熱點
疑難解答