PHP之sprintf函數用法詳解

文章主要介紹了PHP中sprintf函數用法,以實例形式詳細分析了sprintf函數格式化輸出的常見用法,具有一定的參考借鑑價值,需要的朋友可以參考下.

PHP之sprintf函數用法詳解

本文實例講述了PHP中sprintf函數的用法。分享給大家供大家參考。具體用法分析如下:

sprintf()函數在php官方是說把字符串格式化輸出了,本文就來給各位朋友介紹一下在學習sprintf()函數時的一些經驗分享,希望能給大家帶來幫助.

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

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

參數:

format:必須,轉換格式

arg1 :必須,規定插入 format 字符串中第一個%符號處的'參數

arg1 :可選,規定插入 format 字符串中第二個%符號處的參數

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

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

%% – 返回百分比符號

%b – 二進制數

%c – 依照 ASCII 值的字符

%d – 帶符號十進制數

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

%u – 無符號十進制數

%f – 浮點數(local settings aware)

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

%o – 八進制數

%s – 字符串

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

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

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

複製代碼 代碼如下:

// 1. %% :把 %% 替換成 %

$str = '測試一下 %% 這個參數,會被替換成什麼';

echo sprintf($str);

//返回結果: 測試一下 % 這個參數,會被替換成什麼(%%被替換成一個%)

// 2. %b :該參數只能替換整型數據,如果是浮點型,只會取整數部分,會忽略小數點後面的數據。如果是非整型數據。返回 0

$str = '參數 %b 會替換成二進制數';

$arg = '10';

echo sprintf($str,$arg);

//返回結果:參數 1010 會替換成二進制數

$arg = 10.23;

echo sprintf($str,$arg);

//返回結果:參數 1010 會替換成二進制數

$arg = 'abc';

echo sprintf($str,$arg);

//返回結果:參數 0 會替換成二進制數

// 3. %c 返回字符編碼的ASCII碼

$arg = 65;

$str = "數字 {$arg} 對應的ASCII碼爲 %c ";

echo sprintf($str,$arg);

//返回結果:數字 65 對應的ASCII碼爲 A

// 4. %d 將一段字符裏的%d替換成int型,數據要求同 $b 相同

$str = 'ID號爲 %d ';

$arg = -3;

echo sprintf($str,$arg);

//返回結果:ID號爲 -3

$arg = 4.5;

echo sprintf($str,$arg);

//返回結果:ID號爲 4

$arg = 'abc';

echo sprintf($str,$arg);

//返回結果:ID號爲 0

// 5. %s - 字符串

$str = "這是用來測試的sprintf的字符串( %s )。今天消費了%f元。從鐘樓到小寨有%d站。上班";

$arg = '%s';

echo sprintf($str,$arg,6,5);

//返回結果:這是用來測試的sprintf的字符串( %s )。今天消費了6.000000元。從鐘樓到小寨有5站。上班