91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP 字符串操作的 printf() 內置函數用法

發布時間:2020-07-14 11:00:02 來源:網絡 閱讀:3670 作者:Professor哥 欄目:web開發

php中指出打印輸出的函數有很多 最常見的就是  echo  print()   printf()   spintf() 這幾個了。


echo 和 print() 功能相同,但是 print( )具有執行成功與否的返回值 (true 和 false)。


使用函數 printf()  和 sprintf() 還可以實現一些更為復雜的格式化輸出。 這兩個的工作方式基本相同,只是printf() 函數是講一個格式化的字符串輸出到瀏覽器中,而 sprintf() 函數是返回一個格式化過的字符串。


printf()  基本用法:

echo "you have $total money";

    要使用printf() 函數得到相同的結果,就應該使用如下語句:

printf ("you have %s money", $total );

    格式化字符串中的%s 是轉換標記。它的意思是使用后面的變量來替換自己。 在這個例子中它會被解釋成字符串$total 的代替。  如果 $total 變量中的值是 25.6,以上兩種方法都將打印為25.6 。


printf() 的優點在于,可以使用更有用的轉換說明來指定 $total 為一個浮點數(它的后面應該有兩位小數點)。 如下所示:

printf("you hava %.2f money ", $total );

經過這行代碼格式化處理,存儲在 $total 中的25.6 將打印為 25.60 。(但是并不影響變量原始的值)


可以在格式化字符串中使用多個轉換標記。 如果有n個轉換標記,那么在格式化字符串后面就應該帶有n個參數。 每個轉換標記默認將按照給出的順序依次重新格式化。

printf ("you have %.2f money , but shopping %.2f RMB ", $total , $total_shopping );

在這里,第一個轉換標記將使用$total 的值, 第二個轉換標記將使用變量 $total_shopping 的值。


printf()   %轉換標記的語法格式:

%[ 'padding_character] [ - ] [ width ] [ .precision ] type    //中括號內的參數為可選參數

所有的轉換標記都以% 開頭。

    參數padding_character 將被用來填充變量直至所指定的寬度。該參數的作用就像使用計算器那樣在數字前面加零。 默認填充字符是一個空格,如果指定了一個空格或者0 ,就不需要使用 ‘ 單引號作為前綴。 對于任何其他填充字符,必須指定 ’ 單引號前綴。

    字符 - 是可選的。它指明該域中的數據的對齊方式, 該選項默認留空即右對齊,設置了 - 符號,那么就是左對齊(填充字符填充到右邊不夠的位置)。

    參數 width 是可選的,它告訴printf() 函數在這里將顯示的字符寬度(按字符計算)。

    參數 precision 必須是以一個小數點開始。 它用于指明小數點后的精確位數。

    轉換標記最后的一部分是一個類型碼。 其支持的所有類型如下表所示:

代碼類型意義
b解釋為整數并作為二進制數輸出
c解釋為整數并作為字符輸出
d解釋為整數并作為小數輸出
f解釋為雙精度并作為浮點數輸出
o解釋為整數并作為八進制數輸出
s解釋為字符串并作為字符串輸出
u解釋為整數并作為非指定小數輸出
x

解釋為整數并作為帶有小寫字母a~f的十六進制數輸出

X解釋為整數并作為帶有大寫字母A~F的十六進制數輸出


用法示例:

php > $a = 534 ;
php > printf("printf type is %.1f",$a);
printf type is 534.0
php > printf("printf type is %'u.1f",$a);
printf type is 534.0
php > printf("printf type is %'u6.1f",$a);
printf type is u534.0
php > printf("printf type is %'u10.1f",$a);
printf type is uuuuu534.0
php > printf("printf type is %'u-10.1f",$a);
printf type is 534.0uuuuu
php > printf("printf type is %b",$a);
printf type is 1000010110
php > printf("printf type is %o",$a);
printf type is 1026
php > printf("printf type is %s",$a);
printf type is 534
php > printf("printf type is %u",$a);
printf type is 534
php > printf("printf type is %x",$a);
printf type is 216
php > $a = 539;
php > printf("printf type is %x",$a);
printf type is 21b


當在類型轉換代碼中使用 printf() 函數時,你可以使用帶序號的參數方式,這就意味著參數的順序并不一定要與轉換標記中的順序相同。 例如:

printf ("you have %2\$.2f money , but shopping %1\$.2f RMB ", $total , $total_shopping );

只要直接在 % 符號后添加參數的位置,并且以 $ 符號為結束 。 在這個例子中,2\$ 意味著用列表中的第二個參數替換。這個方法也可以在重復參數中使用

php > $a = 539;
php > $b = 38;
php > printf("you have %2\$.2f money , but shopping %1\$.2f RMB! ", $a,$b);
you have 38.00 money , but shopping 539.00 RMB! 
php >



這些函數還有兩種可替換版本,分別是 vprintf()  和 vsprintf() 。這些變體函數接受兩個參數:格式字符串 和 參數數組, 而不是可變數量的參數。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北票市| 随州市| 普兰店市| 富顺县| 轮台县| 达日县| 墨竹工卡县| 鲁山县| 集安市| 吉木乃县| 凤山市| 靖西县| 乌拉特后旗| 迁安市| 从江县| 呼伦贝尔市| 普安县| 临西县| 尉氏县| 阳西县| 工布江达县| 东阳市| 会宁县| 霍山县| 锡林浩特市| 湖北省| 邹城市| 石门县| 日照市| 曲周县| 周至县| 福安市| 霍城县| 宜都市| 长治市| 四会市| 阳高县| 宜城市| 循化| 万山特区| 武平县|