PHP函数printf()、sprintf()的用法
printf()函數優點在于可以格式化輸出
格式:
%['padding_character][-][width][.precision]type
所有的轉換說明都是以%開始,如果想打印一個%符號,必須用%% ;
參數“'padding_character”是可選,它將被用來填充變量直至所指定的寬度,該參數的作用就在變量前面填充,默認的填充字符是一個空格,如果指定“0”或者“ ”(空格),就不需要“'”單引號作為前綴,其他字符就必須指定“'”作為前綴;
參數“-”是可選,它指左對齊,默認是右對齊;
參數“width”是指被替換的變量的長度;
參數“.precision”表示以小數點開始,它指明小數點后要顯示的位數;
參數“type”是類型碼,請看下表:
類型?? |??? 含義
b??????|????解釋為整數并作為二進制輸出
c??????|????解釋為整數并作為字符表示輸出(ASCII碼)
d??????|??? 解釋為整數并作為整數輸出
f????? |??? 解釋為雙精度并作為浮點數輸出
o??????|??? 解釋為整數并作為八進制數輸出
s??????|??? 解釋為字符串并為字符串輸出
u??????|??? 解釋為整數并作為非指定小數輸出
x??????|?? ?解釋為整數并作為帶有小寫字母a-f的十六進制數輸出
X???? ?|??? 解釋為整數并作為帶有大寫字母A-F的十六進制數輸出
示例:
<?php
$out = "The Books\n";
$books = array("Book 1", "Book 2", "Book 3");
$pages = array("123 pages ", "234 pages", "345 pages");
for ($i = 0; $i < count($books); $i++) {
//第一個變量左對齊,寬度20,不足長度使用.號填充;第二個變量右對齊,寬度為7,左截取4個字符,不足使用.號對齊
? ? $out .= sprintf("%'.-20s%'.7.4s\n", $books[$i], $pages[$i]);
}
echo $out;
// Outputs:
//?
// The Books
// Book 1.................123?
// Book 2.................234?
// Book 3.................345
$s = 'monkey';
$t = 'many monkeys';
printf("[%s]\n", ? ? ?$s); // standard string output
printf("[%10s]\n", ? ?$s); // right-justification with spaces
printf("[%-10s]\n", ? $s); // left-justification with spaces
printf("[%010s]\n", ? $s); // zero-padding works on strings too
printf("[%'#10s]\n", ?$s); // use the custom padding character '#'
printf("[%10.10s]\n", $t); // left-justification but with a cutoff of 10 characters?
?>
測試結果:
The Books
Book 1.................123?
Book 2.................234?
Book 3.................345
[monkey] [ monkey] [monkey ] [0000monkey] [####monkey] [many monke]
sprintf()的用法和printf()完全一致,只是sprintf()將返回格式化的結果,并不直接輸出結果。
總結
以上是生活随笔為你收集整理的PHP函数printf()、sprintf()的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在CentOS 6.2上搭建vim开发环
- 下一篇: coreseek最大检索数只有1000的