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

溫馨提示×

溫馨提示×

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

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

php中sprintf函數怎么用

發布時間:2021-03-30 13:43:23 來源:億速云 閱讀:168 作者:小新 欄目:編程語言

小編給大家分享一下php中sprintf函數怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

sprintf()是PHP中的內置函數,可以用于把字符串進行多種類型的格式化,然后返回已格式化的字符串;在處理xml數據格式時,需要用到該函數來格式化。語法格式“sprintf(format,arg1,arg2,arg++)”。

PHP sprintf() 函數

sprintf() 函數把格式化的字符串寫入一個變量中。

  • 用處:把字符串進行多種類型的格式化

  • 用于:處理xml數據格式時,需要用到他來格式化等等

arg1、arg2、++ 參數將被插入到主字符串中的百分號(%)符號處。該函數是逐步執行的。在第一個 % 符號處,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

注釋:如果 % 符號多于 arg 參數,則您必須使用占位符。占位符被插入到 % 符號之后,由數字和 "\$" 組成。

語法:

sprintf(format,arg1,arg2,arg++)

php中sprintf函數怎么用

返回值:返回已格式化的字符串。

示例:

<?php
$str1="1234";
echo sprintf("hello%s","$str1");
//效果為: hello1234
?>

這什么意思呢

要點:

%s = %符號和后面屬性符號(s)總稱為插入標記組合,也就是把后面準備進行格式化的值($str1)替換在這個位置

hello = 這個單詞就是很多人蒙蔽的地方,告訴你這個什么代表也沒有,就單純的代表一個hello,用于分割或者修飾用,一般用[ %s ]、<%s>這樣格式化出來后就直接在標簽里

記住,一個%標記符后面只有一個類型屬性(比如s),s是什么上面有,以字符串的方式格式化

那么多個值怎么格式化一起呢?

看:

<?php
$a="abcdef";
$b="abcdef";
$c="1234";
echo sprintf("%1\$s%2\$s",$c,$a);
//效果為: 1234abcdef
?>

%s為一個標記,兩個%s%s這樣寫卻是錯誤的,每個%s必須標記鍵位,不然我怎么知道都代表格式化后面的哪個$str呢,所以有個特別的語法

%1\$%2\$      解釋:%1表示格式化sprintf("%1\$%2\$",''$str1","$str2")中對應的$str1,那么%2自然表示格式化$str2,\$是代表有多個值準備格式化,所以每個%1和%2或者還有%3的標記后都要加這個符號代表一行中有多個標記,如果只有一個標記就不用\$了占位符了,記住$str2、$str3是可選,也就是可以不格式化這么多

講個特殊的例子

<?php
$a="abcdef";
$b="abcdef";
$c="1234";
echo sprintf("%'x13.2f",$c);
// 效果為:xxxxxx1234.00
//echo sprintf("%06.2f", $a);
?>

sprintf("%'x13.2f",$c);是什么意思,f是浮點數,第一步按照格式 %   '(補位值) 寬度值  格式化類型  這三部分,語法之間必須緊挨著不能用空格

必須解釋一下何為補位值:就是設定的寬度超出了,用這個值來填上

解釋一下,補位值只有設置寬度超出了目標值才能用

所以就是用x補位,13為總寬度,2為小數點后的寬度,f為格式化類型,別急我會解釋

' 號(單引號)代表接下來要用補位類型

為什么他能識別x是補位值呢,因為前面有 ' 號,

為什么他能識別哪幾位是哪種類型呢,他是這樣識別的,按順序從先從兩頭的字符開始識別是什么類型,補位值肯定是單數位,不可能一個位置補兩個數吧,所以左邊第一位x是補位值,右邊第一位是格式化類型,然后中間的自然是寬度值

第二,為什么小數點 后還有一個屬性 ,因為這是f(浮點型),必須設置小數點后有幾位,不能小數后面不能設置了吧,那浮點數意義何在呢

不要覺得煩,每個例子都是濃縮出來的

整數補位:

<?php
$a="abcdef";
$b="abcdef";
$c="1234";
echo sprintf("%'07s",$c);
//結果是:0001234
?>

這就是整數補位,還是一樣
第一步按照格式 %   '(補位值) 寬度值  格式化類型  這三部分

0是補位值 7是寬度值 s自然是格式化類型

還有一種最重要的例子

<?php
$a="abcdef";
$b="abcdef";
$c="1234";
echo sprintf("[%-6s]",$c);       //結果是:[1234 ]
echo sprintf("[%-4s]",$c);       //結果是:[1234]
echo sprintf("[%4.2s]",$c);       //結果是:[ 12]
?>

這個第一步 [ ] 僅僅只是修飾,不用理解

第二步,沒有 ' 號,證明沒有補位,無需添加補位值

所以語法格式為 : %    寬度值  格式化類型  這兩部分

第一二行解釋如下:

第一個寬度為6,但是$c=1234 ,只有4個字符,所以寬度不夠,所以右邊自動擴充(擴充再多也只顯示一個空格位置),為什么在右邊擴充,因為寬度前有個 - 號,代表補位方向相反,如在補位值前加-,自然從右邊開始補位

下面為什么沒變化,因為寬度正好一致,只是補位的方向改變了

第三行解釋如下:

不要被蒙蔽了,語法結構還是一樣    %    寬度值  格式化類型  這兩部分

沒有 ' 號,證明沒有補位,無需添加補位值

所以4.2依舊是寬度值

只是小數點左邊的4代表總寬度,右邊的2代表只顯示2位出來,所以又空缺了兩個,所以左邊開始擴充兩個空位,為什么只顯示一個空格上一段說了,再說一次吧擴充再多也只顯示一個空格位置。默認從左邊開始

以上是“php中sprintf函數怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

php
AI

双桥区| 蕉岭县| 微博| 尚义县| 富源县| 竹溪县| 牡丹江市| 新津县| 砀山县| 孝义市| 油尖旺区| 和平县| 宣威市| 盐池县| 望江县| 天门市| 伊吾县| 进贤县| 永泰县| 郧西县| 佛冈县| 灌南县| 麻阳| 贵阳市| 安顺市| 虞城县| 高安市| 云霄县| 容城县| 疏附县| 临朐县| 泸州市| 沁水县| 蓝田县| 岱山县| 阿图什市| 玛曲县| 鹰潭市| 麟游县| 郸城县| 鄢陵县|